Python 使用combobox禁用/启用小部件?
是否可以使用组合框(选项菜单,下拉菜单)中的选项在启用/禁用小部件之间切换?? 我的意思是,如果选择了一个选项,就启用它。。。与其他人,残疾人 如果是,如何 我尝试过这样的事情,但没有成功Python 使用combobox禁用/启用小部件?,python,combobox,tkinter,Python,Combobox,Tkinter,是否可以使用组合框(选项菜单,下拉菜单)中的选项在启用/禁用小部件之间切换?? 我的意思是,如果选择了一个选项,就启用它。。。与其他人,残疾人 如果是,如何 我尝试过这样的事情,但没有成功 op = StringVar(root) op.set("------") o0 = OptionMenu(root, op, "opt1", "opt2", "opt3","opt4") if op.get() is "opt1": e_state = 'ENABLED' else: e_
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)
是的,有可能。下面是一个例子:
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()
如果op.get()是“opt1”:
-使用==
而不是is
。如果要测试两个对象是否完全相同(如在中,somefruit是另一个水果
),则只能使用is
)-在这种情况下,只需测试它们是否相等(如在中somenumber==1337
)