2011-11-07 1 views

答えて

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) 

出典:http://www.pygtk.org/docs/pygobject/class-gobject.html

関連する問題