Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何禁用tkinter选项功能表_Python_Unix_Tkinter_Optionmenu - Fatal编程技术网

Python 如何禁用tkinter选项功能表

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的内置函数并禁用它?还是必须禁用菜单中的每个选

我想不出或找不到如何禁用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的内置函数并禁用它?还是必须禁用菜单中的每个选项?(我也不明白)

顺便说一句:我使用
菜单.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")