E. *_*gel 1 python unix tkinter optionmenu
我无法弄清楚或找到如何禁用 tkinter OptionsMenu。我的 GUI 中有 3 个选项菜单,并希望在单击按钮时禁用它们
self.menu = OptionMenu(self, var, *items)
btn = Button(self, text="disable", command = self.disable)
btn,pack()
self.disable(self):
//Disable menu here...
Run Code Online (Sandbox Code Playgroud)
有没有办法只为 OptionMenu 调用内置函数并禁用它?还是我必须禁用菜单中的每个选项?(我也想不通)
顺便说一句:我使用了menu.pack()一个单独的 Topleve() 弹出窗口,但我从我的主 Tk 窗口中的 grid() 系统开始,由menu.grid(row=0,column=0)
编辑: 所以我忘了提到我有多个 OptionMenus 是由构造函数方法生成的。这是我尝试做但没有奏效的事情:
makeMenu():
menu = OptionMenu(self, var, *items)
....//whole bunch of menu settings
return menu
menu1 = makeMenu()
all_menus.append(menu)
Run Code Online (Sandbox Code Playgroud)
现在这不起作用的原因是因为我必须在创建后附加它。我不知道为什么设置不结转,但我必须做的是: makeMenu(): menu = OptionMenu(self, var, *items) ....//整个菜单设置返回菜单
makeMenu():
menu = OptionMenu(self, var, *items)
....//whole bunch of menu settings
all_menus.append(menu)
makeMenu()
Run Code Online (Sandbox Code Playgroud)
通过此更改,我可以稍后使用它来禁用菜单:
for menu in all_menus:
menu.config(state=DISABLED)
Run Code Online (Sandbox Code Playgroud)
与任何其他小部件一样,您可以使用该configure方法将状态设置为“已禁用”:
self.menu.configure(state="disabled")
Run Code Online (Sandbox Code Playgroud)
以上将适用于 tkinter 和 ttkOptionMenu小部件。
| 归档时间: |
|
| 查看次数: |
6437 次 |
| 最近记录: |