如何通过下拉框禁用/启用小部件?
有没有办法通过下拉框(比如选项菜单)来切换一个小部件的启用和禁用状态?
我的意思是,当选择某个选项时就启用它,选择其他选项时就禁用它……
如果可以的话,怎么做呢?
我试过类似的代码,但没有成功……
op = StringVar(root)
op.set("------")
o0 = OptionMenu(root, op, "opt1", "opt2", "opt3","opt4")
if op.get() is "opt1":
e_state = 'ENABLED'
else:
e_state = 'DISABLED'
en9 = Entry(root, width = 30, background = 'white', textvariable = seccion, state=e_state)
1 个回答
2
是的,这是可能的。下面是一个例子:
import Tkinter as tk
class App(tk.Tk):
def __init__(self, *args, **kwargs):
tk.Tk.__init__(self, *args, **kwargs)
self.op = tk.StringVar(self)
self.op.set("enable")
self.om = tk.OptionMenu(self, self.op, "enable","disable", command=self.OnOption)
self.entry = tk.Entry(self, width=30)
self.om.pack()
self.entry.pack()
def OnOption(self, event):
state = "normal" if self.op.get() == "enable" else "disabled"
self.entry.configure(state=state)
app=App()
app.mainloop()