2017-04-04 9 views
0

LinuxでGladeを使ってPython 2.7とGTK3 +を使ってプログラムを作成しています。私はImageオブジェクトを持っていて、イメージがクリックされたときにメソッドを実行したい。ここ は、私が働くかもしれない「ボタンを押し-イベント」以外のすべてのイベントを見つけることができないオブジェクトGTK3とPython 2.7のImageオブジェクトで 'Click Event'を作成するにはどうすればいいですか?

<object class="GtkImage" id="imageHiResVisual"> 
    <property name="visible">True</property> 
    <property name="can_focus">False</property> 
    <property name="tooltip_text" translatable="yes">Click here to switch between British Isles Image and Ireland</property> 
    <property name="hexpand">True</property> 
    <property name="vexpand">True</property> 
    <property name="stock">gtk-missing-image</property> 
    <signal name="button-press-event" handler="on_imageHiResVisual_button_press_event" swapped="no"/> 
</object> 

とイベントハンドラ

def on_imageHiResVisual_button_press_event(self, widget, data=None): 
    print "I am clicked!" 

です。 クリックしたときに正常に機能するボタンがいくつかありますが、画像をクリックするとこのメソッドが機能しないのはなぜですか?

答えて

0

Gtk.Imageは単なる受動部品であり、ボタンのクリックに反応しません。一番簡単なことは、Gtk.EventBoxの中に入れてイベントボックスのクリックに反応させることです。

+0

優秀!!!治療をしなさい。 – themetman

+0

タイトルに "SOLVED"を追加する必要はありません。代わりに、緑色のチェックマークをクリックします。それは私たちの両方に報酬を与えます。 – ptomato

+0

ありがとう、私はチュートリアルを読んだが、明らかにその重要な部分が情報の場合はそれを逃した。 私はあなたに投票しようとしましたが、私はまだ投票することができません。 – themetman

関連する問題