http://www.pygtk.org/pygtk2tutorial/sec-ManualMenuExample.html
で発見、この非常に事を行うための例では、それは、メニューバーに添付しても、マウスボタンのクリックイベントをリッスンし、その非常に同じメニューをポップアップメニューを作成する方法を示しますがあります作成されました。
私はこれがあなたの後であると思います。
EDITは:
は、要約すると(のみマウスの右ボタンイベントに応答する方法を示すために、更なる説明を追加します)。
マウスイベントを待機するウィジェットを作成します。この場合はボタンです。
button = gtk.Button("A Button")
メニューを作成します
menu = gtk.Menu()
メニュー項目
menu_item = gtk.MenuItem("A menu item")
menu.append(menu_item)
menu_item.show()
でそれを埋めるウィジェットがそれにメニューを取り付け、マウスプレスイベントをリッスンしてください。
button.connect_object("event", self.button_press, menu)
これらのイベントを処理するメソッドを定義します。リンクの例で説明したように、このメソッドに渡されるウィジェットは、これらのイベントをリスンするウィジェットではなくポップアップするメニューです。
def button_press(self, widget, event):
if event.type == gtk.gdk.BUTTON_PRESS and event.button == 3:
#make widget popup
widget.popup(None, None, None, event.button, event.time)
pass
あなたはそれが本当であれば、それはその後、押されたボタンのどれかをチェックし、ボタンが押された場合の文チェックを参照してください場合ていることがわかります。 event.buttonは、どのマウスボタンが押されたかを表す整数値です。したがって、1は左ボタン、2は中央、3は右マウスボタンです。 event.buttonが3であるかどうかを調べることによって、マウスの右ボタンに対するマウスの押下イベントにのみ応答します。
まず、GTKのイベント利用状況をお読みください。まず何かをするために右クリックしてから、コンテキストメニューの操作方法を読んでください。 PyGTKやGTKを使ったことは一度もありませんが、おそらくウィジェットがあります。 – JAB