以下に示すように、ハンドラーを使用してボタンクリック時にGtkポップアップメニューを作成しようとしています:
def code_clicked(self,widget,event):
newmenu=Gtk.Menu()
newitem=Gtk.MenuItem('hello')
newmenu.append(newitem)
newitem1=Gtk.MenuItem('goodbye')
newmenu.append(newitem1)
newmenu.show_all()
newmenu.popup(None,None,None,None,event.button,event.time)
return True
メニューは表示されません。理論的には、popup の 3 番目の引数 func は、Null に設定されている場合、位置をカーソル位置に設定します。lambda x,y: (event.x,event.y,True)
func を に設定すると、ポップアップ メニューがカーソルの約 100 ピクセル上に表示されるため、問題があると思います。
このメニューをカーソルでポップアップする方法を見つけたいと思います。どんな助けでも大歓迎です!