我不知道或找到如何禁用tkinter选项菜单。我有3个选项菜单在我的图形用户界面,并希望禁用它们时,一个按钮被点击
self.menu = OptionMenu(self, var, *items)
btn = Button(self, text="disable", command = self.disable)
btn,pack()
self.disable(self):
//Disable menu here...
字符串
有没有一种方法可以调用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)
型
现在这不起作用的原因是因为我必须在创建后添加它。我不知道为什么设置不继续,但我必须这样做:makeMenu():menu = OptionMenu(self,var,*items)....//一大堆菜单设置返回菜单
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)
型
1条答案
按热度按时间pbwdgjma1#
与其他小部件一样,您可以使用
configure
方法将状态设置为“disabled”:字符串
上面的代码适用于tkinter和ttk
OptionMenu
小部件。