PyGTK'den yeni PyGobject bağlantılarına bazı küçük örnekleri aktarmaya çalışıyorum, ancak hatalara rağmen bir popupmenu ile birlikte bir roadblock'a bastım, rightclick'te hiçbir menü gösterilmiyor, işte buradaki kod , Python'da Gtk.StatusIcon PopupMenu
from gi.repository import Gtk
class aStatusIcon:
def __init__(self):
self.statusicon = Gtk.StatusIcon()
self.statusicon.set_from_stock(Gtk.STOCK_HOME)
self.statusicon.connect("popup-menu", self.right_click_event)
window = Gtk.Window()
window.connect("destroy", lambda w: Gtk.main_quit())
window.show_all()
def right_click_event(self, icon, button, time):
menu = Gtk.Menu()
about = Gtk.MenuItem()
about.set_label("About")
quit = Gtk.MenuItem()
quit.set_label("Quit")
about.connect("activate", self.show_about_dialog)
quit.connect("activate", Gtk.main_quit)
menu.append(about)
menu.append(quit)
menu.show_all()
#menu.popup(None, None, gtk.status_icon_position_menu, button, time, self.statusicon) # previous working pygtk line
menu.popup(None, None, None, Gtk.StatusIcon.position_menu, button, time) #i assume this is problem line
def show_about_dialog(self, widget):
about_dialog = Gtk.AboutDialog()
about_dialog.set_destroy_with_parent(True)
about_dialog.set_name("StatusIcon Example")
about_dialog.set_version("1.0")
about_dialog.set_authors(["Andrew Steele"])
about_dialog.run()
about_dialog.destroy()
aStatusIcon()
Gtk.main()
i sorun orada self.statusicon hakkında menüyü söylemiyor im olduğunu varsayalım, ama hepsi bir widget arg veya hiçbiri değil, bir STATUSICON istiyorum çünkü, args hiçbirinde akıllı doesnt iş ppl burada yanlış giden bir fikrim var mı?
'StatusIcon.position_menu',' Gtk.StatusIcon' belgesinde bile göremiyorum. Ben açıkça bir 'StatusIcon kabul [' gtk.status_icon_position_menu'] (http://www.pygtk.org/docs/pygtk/class-gtkstatusicon.html#function-gtk--status-icon-position-menu), görüyorum '. Bu artık işe yaramıyor mu? (İlgili soru: sen [Hairy_Palms] (http://ubuntuforums.org/showthread.php?t=1789358)? Sen buna cevap vermek zorunda değilsin.) – senderle
StatusIcon.position_menu, gtk3'ün yeni gtk3 içgözleme yoludur. .status_icon_position_menu, eski yöntem için yaptığım gibi bir statusicon denemek ve denemek eğer şikayetçi. (İlgili Cevap: Evet :)) – Mike
@Mike, tamam, üzgünüm. Pygtk'i kullandığımdan beri bir süre geçti ... Sanırım benim yaklaşımım, bir 'StatusIcon' kabul edecek kendi konumlandırma işlevimi yazmak, [StatusIcon.get_geometry() '] (http: //www.pygtk. org/docs/pygtk/class-gtkstatusicon.html # method-gtkstatusicon - get-geometri) ve bir ['(x, y, push_in)'] döndürün (http://www.pygtk.org/docs/pygtk /class-gtkmenu.html#method-gtkmenu--popup) tuple. Ama bu bir WAG, ve bu işlevlerin değişmediğini varsayar. (BTW, 'menü.popup' imzası, kodunuz önerdiği gibi gerçekten değişti mi? Bu, eğer bazı ciddi API kırılması gibi görünüyor.) – senderle