pygtk で、デフォルトのイベントハンドラを無効にする。

treeView を、ScrolledWindow に入れているのだが、ホイールスクロールをした時の動作を変えたい。
そこで、treeView のイベント"scroll_event"に connect したのだが、ScrolledWindow のイベントも実行されてしまい、訳のわからないことに…。
disconnect しようにも、ハンドラIDがわからない…

で、結論。
ScrolledWindow のイベントハンドラを無効にするには、True を返すイベントを登録すればよい。
こんな感じ。

        sw = gtk.ScrolledWindow()
        def disEvent(a,b): return True
        sw.connect( "scroll_event", disEvent ) # ホイールスクロールを無効化

lambdaを使ったほうがすっきりするか。

        sw.connect( "scroll_event", lambda a,b: True ) # ホイールスクロールを無効化