我有一个简单的回调函数,可以切换 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)
(我使用每次调用生成的随机数验证了重复调用,它们是不同的) 我的问题是,回调执行了两次,因此切换回其旧值,因此没有可见的变化。到底为什么会出现这种情况?如何防止这种情况发生?
谢谢, 朱利安
最佳答案
正如我的评论中所指出的(请参阅帖子下面的第二条条目),我通过代码以及空地进行了连接,这导致了两个调用。如果您遇到类似或相同的问题,请检查一下。
关于python - 为什么单击一次 ToolButton 上的 pygtk 回调会执行两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6644065/