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