ターゲットオブジェクトが破壊された場合、シグナルは自動的に切断されますか? g_signal_connect()からのシグナルIDを記録しないと、そのシグナルを取り除くことはできますか?Gtkの信号を切断するにはどうすればいいですか?
13
A
答えて
13
シグナルハンドラIDを保存しなかった場合は、g_signal_handler_find()
を使用して検索し、通常の方法で切断するか、特定の条件に一致するシグナルをg_signal_handlers_disconnect_matched()
またはg_signal_handlers_disconnect_by_func()
で切断できます。
7
もちろん、ターゲットオブジェクトが破壊された場合、そのオブジェクトに接続されている信号は削除されます(そうでない場合、大量のメモリリークが発生しますが、g_signal_connect_objectの警告を読んでください)。しかし、g_signal_handler_disconnectを呼び出すには、g_signal_connect
と友人のハンドラIDが必要です。
1
* handler_block_by_func *および* handler_unblock_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)
関連する問題
- 1. gtk.builderの切断信号はどうですか?
- 2. Androidではどのようにソケットを切断すればよいですか?
- 3. MQTTで1つのクライアントが切断された場合、サブスクライバ・クライアントに切断メッセージを送信するにはどうすればよいですか?
- 4. WiFiを切断する理由を入手するにはどうすればいいですか
- 5. Python Gtkで計算を行うにはどうすればよいですか?
- 6. Angularfire2 - 切断時にオブジェクトを削除するにはどうすればいいですか?
- 7. Alchemy Websocket Server - 強制的にクライアントを切断するにはどうすればいいですか?
- 8. Perl GTKプログラムでクロススレッド通信を取得するにはどうすればよいですか?
- 9. アプリを閉じるときにデバイスから切断するにはどうすればよいですか?
- 10. Firebaseのジョブディスパッチャでネットワークの切断を検出するにはどうすればよいですか?
- 11. ファイルの種類が適切でないかどうかをきれいに判断するにはどうすればよいですか?
- 12. anglefire2/auth signOutの後にGoogle認証から切断するにはどうすればよいですか?
- 13. Javaでサーバが接続を切断した(RSTパケットを受信した)かどうかを確認するにはどうすればよいですか?
- 14. ListBoxの各項目に区切り記号を追加するにはどうすればいいですか?
- 15. select2マルチセレクトコントロールの区切り記号をセミコロンに変更するにはどうすればいいですか?
- 16. Apache Camelでネットワークの切断を検出するにはどうすればよいですか?
- 17. Linuxで任意のTCP/IP接続を切断するにはどうすればよいですか?
- 18. アンドロイドでWiFi adbが接続または切断されているかどうかをプログラムで確認するにはどうすればよいですか?
- 19. アプリからDropboxアカウントを切断するにはどうすればよいですか?
- 20. adb経由でWi-Fiネットワークから切断するにはどうすればよいですか?
- 21. Google Playサービス:ピアネットワークの切断を処理するにはどうすればよいですか?
- 22. 実行中のBrowsersyncインスタンスを切断するにはどうすればよいですか?
- 23. Strophe.jsとの切断セッションを検出するにはどうすればよいですか?
- 24. socket.ioの切断を検出するにはどうすればよいですか?
- 25. pythonでワイヤレスネットワークを接続/切断/設定するにはどうすればよいですか?
- 26. 通話を自動的に切断するにはどうすればよいですか?
- 27. このクラッシュを診断するにはどうすればよいですか?
- 28. このエラーを診断するにはどうすればよいですか?
- 29. OpenWhiskでシーケンスフローを中断するにはどうすればよいですか?