[英]How to disable a tkinter OptionMenu
我不知道或找不到如何禁用tkinter OptionsMenu。 我的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調用內置函數並將其禁用? 還是我必須禁用菜單中的每個選項? (我也不知道)
順便說一句:我使用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)
與任何其他小部件一樣,您可以使用configure
方法將狀態設置為“禁用”:
self.menu.configure(state="disabled")
上面的方法適用於OptionMenu
和ttk OptionMenu
小部件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.