首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何禁用tkinter OptionMenu

如何禁用tkinter OptionMenu
EN

Stack Overflow用户
提问于 2017-08-22 21:42:21
回答 1查看 8.8K关注 0票数 2

我找不出或找到如何禁用一个tkinter OptionsMenu。我的GUI中有3个optionsmenu,希望在单击按钮时禁用它们

代码语言:javascript
复制
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。这就是我试过但没有成功的地方:

代码语言:javascript
复制
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) ./整串菜单设置返回菜单

代码语言:javascript
复制
makeMenu():
    menu = OptionMenu(self, var, *items)
    ....//whole bunch of menu settings
    all_menus.append(menu)

makeMenu()

使用此更改,以后我可以使用它禁用菜单:

代码语言:javascript
复制
for menu in all_menus:
   menu.config(state=DISABLED)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-08-22 22:04:44

与任何其他小部件一样,您使用configure方法将状态设置为“禁用”:

代码语言:javascript
复制
self.menu.configure(state="disabled")

上面的内容将同时适用于tkinter和ttk OptionMenu小部件。

票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45827423

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档