python - 为什么单击一次 ToolButton 上的 pygtk 回调会执行两次

标签 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)

(我使用每次调用生成的随机数验证了重复调用,它们是不同的) 我的问题是,回调执行了两次,因此切换回其旧值,因此没有可见的变化。到底为什么会出现这种情况?如何防止这种情况发生?

谢谢, 朱利安

最佳答案

正如我的评论中所指出的(请参阅帖子下面的第二条条目),我通过代码以及空地进行了连接,这导致了两个调用。如果您遇到类似或相同的问题,请检查一下。

关于python - 为什么单击一次 ToolButton 上的 pygtk 回调会执行两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6644065/

相关文章:

python - 计算数据框中列中的每个值

perl - 使用 Perl 和 GtkBuilder 连接信号

python - 导入 GTK 时出错

python - gobject.type_register() 是做什么的?

python - 侧面带有 2D 直方图的 3D 散点图

python - 在 BeautifulSoup 中处理无限滚动 UI

python - 程序,从 10 个中选择最好的

python - libnotify 通知控制台,而不是 $DISPLAY?

qt - GTK WebAssembly 在不久的将来支持吗?

python - 相当于 pyGTK 中的 "weight"参数?