पीजीजीटीके से कुछ छोटे उदाहरणों को नए पायगोबजेक्ट बाइंडिंग में बंद करने की कोशिश कर रहा है, लेकिन आईपी ने पॉपअपमेनू के साथ रोडब्लॉक मारा है, कोई त्रुटि नहीं होने के बावजूद, राइटक्लिक पर कोई मेनू नहीं दिखाया जा रहा है, यहां कोड है ,पायथन
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()
मैं मान समस्या im है वहाँ में self.statusicon के बारे में मेनू नहीं बता रही है, लेकिन यह आर्ग में से किसी में काम नहीं करता, क्योंकि वे सब एक विजेट आर्ग या बिल्कुल भी नहीं है, न कि statusicon चाहते हैं, किसी भी स्मार्ट पीपीएल को यहां एक विचार आया जहां मैं गलत हो रहा हूं?
मुझे 'Gtk.StatusIcon' के लिए दस्तावेज़ में' StatusIcon.position_menu' भी नहीं दिखाई देता है। मैं [gtk.status_icon_position_menu'] देखता हूं (http://www.pygtk.org/docs/pygtk/class-gtkstatusicon.html#function-gtk--status-icon-position-menu), जो स्पष्ट रूप से 'StatusIcon स्वीकार करता है '। क्या यह अब काम नहीं करता है? (संबंधित प्रश्न: क्या आप [हैरी_Palms] (http://ubuntuforums.org/showthread.php?t=1789358)? आपको इसका उत्तर देने की आवश्यकता नहीं है।) – senderle
StatusIcon.position_menu gtk को कॉल करने का नया gtk3 आत्मनिरीक्षण तरीका है .status_icon_position_menu, जो शिकायत करता है अगर मैं कोशिश करता हूं और इसे पुरानी विधि के लिए एक statusicon देता हूं। (संबंधित उत्तर: हाँ :)) – Mike
@ माइक, ठीक है, क्षमा करें। यह थोड़ी देर के बाद से मैंने pygtk का उपयोग किया है ... मुझे लगता है कि मेरा दृष्टिकोण मेरे स्वयं के पोजीशनिंग फ़ंक्शन को लिखना होगा जो 'StatusIcon' स्वीकार करेगा, ['StatusIcon.get_geometry()'] (http: //www.pygtk। संगठन/दस्तावेज़/pygtk/class-gtkstatusicon.html # विधि-gtkstatusicon - get-geometry), और एक ['(x, y, push_in)'] (http://www.pygtk.org/docs/pygtk) /class-gtkmenu.html#method-gtkmenu--popup) tuple। लेकिन यह एक डब्ल्यूएजी है, और मानता है कि ये कार्य नहीं बदले हैं। (बीटीडब्लू, क्या आपके कोड से पता चलता है कि 'menu.popup' हस्ताक्षर वास्तव में बदल गया है? ऐसा लगता है कि ऐसा कुछ गंभीर एपीआई टूटना है।) – senderle