我找不出或找到如何禁用一个tkinter OptionsMenu。我的GUI中有3个optionsmenu,希望在单击按钮时禁用它们
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()窗口弹出,但是我从menu.grid(row=0,column=0)使用的主要Tk窗口中的grid()系统开始
编辑:,所以我忘记提到由构造函数方法生成的多个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)发布于 2017-08-22 22:04:44
与任何其他小部件一样,您使用configure方法将状态设置为“禁用”:
self.menu.configure(state="disabled")上面的内容将同时适用于tkinter和ttk OptionMenu小部件。
https://stackoverflow.com/questions/45827423
复制相似问题