这是我在 Effbot 网站上找到的一个小代码示例,它与我想在我的一个程序中执行的操作很接近:
from Tkinter import *
fen =Tk()
class test_Tk_class:
def __init__(self):
self.var = IntVar()
c = Checkbutton(
fen, text="Enable Tab",
variable=self.var,
command=self.cb)
c.pack()
def cb(self,event):
print "variable is", self.var.get()
a = test_Tk_class()
fen.mainloop()
但是这段代码不起作用。回调函数 cb
不起作用,因为它有 2 个参数但没有给出。如何指定 event
参数?
最佳答案
在这种情况下,这段代码根本不需要event
。我通过完全删除它来让它工作:
def cb(self):
print "variable is", self.var.get()
只有在将函数绑定(bind)到按键或鼠标点击时,您才会以这种方式构建代码。但是,对于选中/取消选中复选按钮,则不需要。
我不知道在 Effbot 上编写此代码的人想做什么,但我认为他做的不对。也许他打错了字或另有想法。
关于python - Tkinter Checkbutton 和事件回调函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19163658/