2012-03-07 5 views
0

ファイルを扱うアプリケーションを作ろうとしています。 そのため、ファイルを表示するGtkTreeViewがあり、ユーザーがいくつかのディレクトリを無視できるようにするために、このウィジェットでポップアップメニューを作成する必要があります。GtkViewTreeのgtk +アプリケーションのポップアップメニュー

私はインターネット上で、このために探していたとexample

すべては大丈夫ですし、私はこのマニュアルを見つけた、私はそれを行うために管理しますが、問題は、いくつかのために、ちょうどラベルのためにそれを行うためにI管理されています(GtkViewTreeの場合など)

GtkEventBoxを作成してそこにGtkViewTreeインスタンスを入力すると、クリックは無視されます。

誰かが私にこの理由を説明できますか?このGtkViewTreeウィジェットはラベルとどう違うのですか?

は、事前にあなたに感謝ツリービュー上

+0

ウィジェットにイベントを受け取る独自のgdk.Windowがない場合、イベントウィジェットをイベントボックスにパックします。 GtkTreeView **は独自のウィンドウを持っていますので、Eventboxにパッケージングする必要はありません。 'button-press-event'シグナルをGtkTreeView自体に接続してみてください。 – Wes

答えて

3

ポップアップメニューがちょうどツリービューウィジェットに直接信号を接続し、正常に動作します。 EventBoxは必要ありません(これはウィンドウのないウィジェット用です)。

widget.connect("button_press_event", on_button_press) 

def on_button_press(widget, event): 
    popup = get_popup_menu() # acquire your popup menu somehow 
    popup.popup(None, None, None, event.button, event.time) 
関連する問題