【发布时间】:2020-11-16 12:17:16
【问题描述】:
有没有办法通过 SEPARATE 类将 Python 方法绑定到 Tkinter 小部件? (即,这些方法与 tkinter 小部件位于不同的类中)?
特别是 Checkbutton() 小部件?
例子:
def __init__(self, master):
self.var = IntVar()
c = Checkbutton(master, text="Enable a tab", variable=self.var, command=self.cb)
c.pack()
def cb(self, event)
print("Variable is", self.var.get())
...对于第二种方法“cb”——是否可以将它写在与持有 def init(self, master) 构造函数的类不同的类中?
编辑:通过这样做将变量 self.var 传递给 cb 方法:
command=self.cb(self.var)
显然使程序运行不正常。
编辑:问题已得到解答!非常感谢!
【问题讨论】:
-
是的,通过另一个类的实例。但是如果你想访问这个类的实例变量,你需要将
self传递给另一个类的回调。 -
acw1668 - 你能通过代码示例告诉我吗?我想我在上面的编辑说明中解决了这个问题。当我实例化一个对象并尝试通过绑定的 tkinter 方法将此类的实例变量传递给对象时,程序不起作用。