为什么单击的ToolButton上的pygtk回调在单击一次时执行了两次

时间:2011-07-10 22:08:58

标签: python gtk pygtk

我有一个简单的回调函数可以切换PyGTK按钮的标签:

def langSelectHandler(self, widget, callback_data=None):
    if self.lang == "fr":
        self.lang = "de"
        print "changed to de"
        widget.set_label("Deutsch")
    else:
        self.lang = "fr"
        print "changed to fr"
        widget.set_label("Français")

按钮连接如下:

self.langSelect.connect("clicked", self.langSelectHandler)

(我使用随机数生成的每次通话验证了重复通话,它们不同) 我的问题是,回调被执行两次,因此切换回其旧值,因此没有可见的变化。为什么这个案子到底是怎么回事?

谢谢, 儒略

1 个答案:

答案 0 :(得分:1)

正如我在评论中所指出的那样(见帖子下方的第2个条目),我通过代码以及通过林间空地进行了连接,这导致了2个电话。如果遇到类似或相同的问题,请检查一下。