2011-01-30 7 views
1

私はリストビューのように使用しているgtkツリービューを持っています。ユーザーがクリックするとアクティブになるコールバックを与えたい(ダブルクリックではなく、ダブルクリック) 。私はtreeviewウィジェットのアクティブコールバックがダブルクリックのためにアクティブになることを知っています。もし私がtreeviewウィジェット全体をシングルクリックするgtk.gdk.eventを設定できるのであれば、私が探している振る舞いではありません。さらにその中のcellrendererオブジェクトはウィジェットクラスを継承しないので、特にそのコールバックを与えることはできません。誰かが、gtkツリービューの項目のシングルクリックのコールバックを取得する方法を教えてもらえますか?gtkツリービューシングルクリックコールバック

P.S.どんな言語でも問題ありませんが、私は自分のアプリが書かれているので、Pythonを好むでしょう。

答えて

1

あなたのツリービューでgtk.SELECTION_SINGLEまたはgtk.SELECTION_MULTIPLEを使用している場合、1回のクリックで行が選択されます。このイベントには、set_select_functionを使用するか、changed信号に付けることでアタッチできます。

+0

私はset_select_functionを使用しました。私はtrueを返すと2回呼び出されて終了し、明示的にパスを選択するように指示すると無限ループに終わります。私はそれについて何かできることはありますか? – user381261

+1

@ user381261、SELECTION_SINGLEがある場合、選択されている行に対して1回、選択されていないトグルに対して1回、2回呼び出されます。 full = Trueを使用すると、is_selected == Falseを調べることでクリックを取得する行を特定できます。 – Mark