繁体   English   中英

Tkinter Checkbutton和事件回调函数

[英]Tkinter Checkbutton and event callback function

这是我在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()

如果您将功能绑定到按键或鼠标单击,则唯一一次构建代码的方法就是这样。 但是,为了检查/取消选中一个检查按钮,不需要它。

我不知道在Effbot上编写此代码的人是怎么做的,但我不认为他做得对。 也许他写了一个拼写错误或有其他想法。

您可以使用函数的非事件版本。 此方法允许您将其用于Checkbutton命令或事件回调。 您可以在下面找到修改后的版本:

def cb(self,event=None):
    print "variable is", self.var.get()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM