Gtk GLib GObject CRITICAL**:g\u信号处理程序\u断开连接:断言`handler\u id>;0';失败

Gtk GLib GObject CRITICAL**:g\u信号处理程序\u断开连接:断言`handler\u id>;0';失败,gtk,glade,Gtk,Glade,这通常是什么原因造成的 我可以使用什么策略来追踪问题 我在glade(gtk3.0)文件中有6个按钮-我看到6个警告…,最初我在编辑glade文件并对源代码进行一些(不相关的?)更改后没有收到这些错误(我实现了一个额外的信号处理程序,其中包括将按钮图像更改为glade文件中指定的两个(切换)之一)我追踪到我试图对未实现的小部件进行的一些更改 最后,我不得不注释掉部分代码,以逐步跟踪错误的位置,事实上,即使包含调试信息,断言也不会给出任何行号提示,这是次优的….当切换按钮时,您想更改切换按钮中的图

这通常是什么原因造成的

我可以使用什么策略来追踪问题


我在glade(gtk3.0)文件中有6个按钮-我看到6个警告…,最初我在编辑glade文件并对源代码进行一些(不相关的?)更改后没有收到这些错误(我实现了一个额外的信号处理程序,其中包括将按钮图像更改为glade文件中指定的两个(切换)之一)

我追踪到我试图对未实现的小部件进行的一些更改


最后,我不得不注释掉部分代码,以逐步跟踪错误的位置,事实上,即使包含调试信息,断言也不会给出任何行号提示,这是次优的….

当切换按钮时,您想更改切换按钮中的图像,对吗? 这样做:

def on_foo_button_toggled(btn):
    if btn.get_active():
        // set image1.
    else:
        // set image2.

并将此函数绑定到该切换按钮的“toggled”事件。

我从未见过切换按钮的作用,当您只需在其单击的插槽中更改按钮图像时。。。查看我的答案,了解导致问题的原因。。。