如何断开Gtk的信号?

dai*_*isy 14 gtk signals

当目标对象被破坏时,信号会自动断开吗?如果没有记录信号id g_signal_connect(),我可以删除该信号吗?

pto*_*ato 13

如果您没有保存信号处理程序ID,您可以使用搜索它g_signal_handler_find()并断开它通常的方式,或者断开匹配特定标准的任何信号g_signal_handlers_disconnect_matched()g_signal_handlers_disconnect_by_func().


Bas*_*tch 8

当然,当目标对象被破坏时,连接到它的信号将被删除(否则会出现大量内存泄漏,但请阅读g_signal_connect_object上的警告).但是,要调用g_signal_handler_disconnect,您需要g_signal_connect和朋友一起给出的处理程序ID .