Python 如何禁用tkinter选项功能表
我想不出或找不到如何禁用tkinter选项菜单。我的GUI中有3个选项菜单,单击按钮时要禁用它们Python 如何禁用tkinter选项功能表,python,unix,tkinter,optionmenu,Python,Unix,Tkinter,Optionmenu,我想不出或找不到如何禁用tkinter选项菜单。我的GUI中有3个选项菜单,单击按钮时要禁用它们 self.menu = OptionMenu(self, var, *items) btn = Button(self, text="disable", command = self.disable) btn,pack() self.disable(self): //Disable menu here... 有没有办法调用OptionMenu的内置函数并禁用它?还是必须禁用菜单中的每个选
self.menu = OptionMenu(self, var, *items)
btn = Button(self, text="disable", command = self.disable)
btn,pack()
self.disable(self):
//Disable menu here...
有没有办法调用OptionMenu的内置函数并禁用它?还是必须禁用菜单中的每个选项?(我也不明白)
顺便说一句:我使用菜单.pack()
作为弹出的单独Topleve()窗口,但我从主Tk窗口中的grid()系统开始,由菜单.grid(行=0,列=0)使用。
编辑:
所以我忘了提到我有多个OptionMenus是由构造函数方法生成的。这是我尝试做的,但没有成功:
这不起作用的原因是我必须在创建后附加它。我不知道为什么设置不能继续,但我必须做的是:
makeMenu():
菜单=选项菜单(自身、变量、*项)
....//全部菜单设置
返回菜单
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)
与任何其他小部件一样,您可以使用
configure
方法将状态设置为“disabled”:
以上内容适用于tkinter和ttk
选项菜单
小部件 与任何其他小部件一样,您可以使用configure
方法将状态设置为“disabled”:
以上内容适用于tkinter和ttk
选项菜单
小部件 可能重复关闭。但这与OptionMenu有关,它的工作方式稍有不同。我用那个问题作为输入条目。它起作用了!但不幸的是,它与OptionMenu不兼容。谢谢你的提醒!我测试了它,它在OptionMenus上确实有效。诚然,没有视觉线索,但如果你点击一个禁用的选项菜单,什么都不会发生。好的。我再试试看。如果它仍然不起作用,我将把我的尝试发布为上面的编辑。如果不清楚,则“父窗口小部件”不是选项菜单。OptionMenu没有子窗口小部件。我认为你的3个选项是某个容器的孩子。可能是Close的复制品。但这与OptionMenu有关,它的工作方式稍有不同。我用那个问题作为输入条目。它起作用了!但不幸的是,它与OptionMenu不兼容。谢谢你的提醒!我测试了它,它在OptionMenus上确实有效。诚然,没有视觉线索,但如果你点击一个禁用的选项菜单,什么都不会发生。好的。我再试试看。如果它仍然不起作用,我将把我的尝试发布为上面的编辑。如果不清楚,则“父窗口小部件”不是选项菜单。OptionMenu没有子窗口小部件。我把你的3个选项看作是某个容器的孩子。
for menu in all_menus:
menu.config(state=DISABLED)
self.menu.configure(state="disabled")