如何断开Gtk的信号?

如何断开Gtk的信号?,gtk,signals,Gtk,Signals,当目标物体被摧毁时,信号会自动断开吗?如果不记录来自g\u signal\u connect()的信号id,我可以删除该信号吗?当然,当目标对象被销毁时,连接到它的信号会被删除(否则会出现大量内存泄漏,但请阅读警告)。但是,要调用,您需要g\u signal\u connect和朋友提供的处理程序id 如果没有保存信号处理程序ID,可以使用常规方法搜索并断开连接,或者使用或断开与特定条件匹配的任何信号。可以使用*handler\u block\u by_func*和*handler\u unbl

当目标物体被摧毁时,信号会自动断开吗?如果不记录来自
g\u signal\u connect()
的信号id,我可以删除该信号吗?

当然,当目标对象被销毁时,连接到它的信号会被删除(否则会出现大量内存泄漏,但请阅读警告)。但是,要调用,您需要
g\u signal\u connect
和朋友提供的处理程序id

如果没有保存信号处理程序ID,可以使用常规方法搜索并断开连接,或者使用或断开与特定条件匹配的任何信号。

可以使用*handler\u block\u by_func*和*handler\u unblock\u by_func*方法

示例(PyGTK):


来源:

我不清楚你的代码是做什么的,以及它如何回答这个问题。请你再解释一下好吗。
def on_treeview_fixedexpenses_cursor_changed(self, widget):
    self.checkbutton_fixedexpensetax.handler_block_by_func(self.on_checkbutton_fixedexpensetax_toggled)
    self.updateCurrentFixedExpense()
    self.checkbutton_fixedexpensetax.handler_unblock_by_func(self.on_checkbutton_fixedexpensetax_toggled)