pygtk覚書 シグナルハンドラのdisconnect
ボタンなどのシグナルハンドラをconnect()した後、一時的にそのハンドラを解除する方法のメモです。
button = gtk.Button('Button') sigHandle = button.connect('clicked', self.on_clicked) # コネクトを解除したい場合、 button.disconnect(sigHandler) # 再度、コネクトしたい場合 sigHandle = button.connect('clicked', self.on_clicked)
稀に一旦コネクションを解除しておかないと、処理が無限ループに陥ってしまうようなケースには
上記の方法で一旦コネクションを解除して、任意の処理を行い、再度コネクションを設定しなおせば
オッケーです。
つづく。