我不知道或找不到如何禁用tkinter OptionsMenu。 我的GUI中有3个OptionsMenu,当单击按钮时,我想要禁用它们。
有没有一种方法可以只调用OptionMenu的内置函数并禁用它?还是我必须禁用菜单中的每个选项?(我也无法弄清楚)
顺便说一句:我在一个单独的Topleve()窗口中使用了menu.pack(),但我最初在我的主Tk窗口中使用了grid()系统,使用了menu.grid(row=0,column=0)
编辑:我忘了提到我有多个OptionMenus由构造方法生成。这就是我尝试做的但没有成功的事情:
self.menu = OptionMenu(self, var, *items)
btn = Button(self, text="disable", command = self.disable)
btn,pack()
self.disable(self):
//Disable menu here...
有没有一种方法可以只调用OptionMenu的内置函数并禁用它?还是我必须禁用菜单中的每个选项?(我也无法弄清楚)
顺便说一句:我在一个单独的Topleve()窗口中使用了menu.pack(),但我最初在我的主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)
这个方法不起作用的原因是因为我必须在创建后附加它。我不知道为什么设置无法传递,但我必须这样做: makeMenu(): menu = OptionMenu(self, var, *items) ....//很多菜单设置 return menu
makeMenu():
menu = OptionMenu(self, var, *items)
....//whole bunch of menu settings
all_menus.append(menu)
makeMenu()
通过这个改变,我以后可以使用这个来禁用菜单:
for menu in all_menus:
menu.config(state=DISABLED)