Ich entwickle eine Anwendung in Python und es wird in Windows MacOsX und Linux verwendet, und jetzt entwickle ich System (Statussymbol) -Symbol (und das Menü, wenn Sie klicken) in der Mac OSX Leiste. Kann ich PyGTK in Windows, Mac und Linux verwenden und denselben Code für das Symbol zum Anzeigen des Status in Statusleiste (Macosx), System Tray (Windows) oder Linux verwenden?Statussymbol in GTK + auf MacOSX, Windows und Linux (Gnome) und python
Vielen Dank im Voraus. Dieser ist der Code:
import gtk
class SystrayIconApp:
def __init__(self):
self.tray = gtk.StatusIcon()
self.tray.set_from_stock(gtk.STOCK_ABOUT)
self.tray.connect('popup-menu', self.on_right_click)
self.tray.set_tooltip(('Sample tray app'))
def on_right_click(self, icon, event_button, event_time):
self.make_menu(event_button, event_time)
def make_menu(self, event_button, event_time):
menu = gtk.Menu()
# show about dialog
about = gtk.MenuItem("About")
about.show()
menu.append(about)
about.connect('activate', self.show_about_dialog)
# add quit item
quit = gtk.MenuItem("Quit")
quit.show()
menu.append(quit)
quit.connect('activate', gtk.main_quit)
menu.popup(None, None, gtk.status_icon_position_menu,
event_button, event_time, self.tray)
def show_about_dialog(self, widget):
about_dialog = gtk.AboutDialog()
about_dialog.set_destroy_with_parent (True)
about_dialog.set_icon_name ("SystrayIcon")
about_dialog.set_name('SystrayIcon')
about_dialog.set_version('0.1')
about_dialog.set_copyright("(C) 2010 João Pinto")
about_dialog.set_comments(("Program to demonstrate a system tray icon"))
about_dialog.set_authors(['João Pinto <[email protected]>'])
about_dialog.run()
about_dialog.destroy()
if __name__ == "__main__":
SystrayIconApp()
gtk.main()
Dies ist de Tray in MAC OS X (der Stern von GTK +):
Dies ist das Fach in WINDOWS (der Stern von GTK +):
auf Fenster kein Problem, Menü wird angezeigt, wenn Sie auf das Symbol klicken, aber in Mac OX, icos ist s howed aber Menü wird nicht angezeigt.
Was ist das Problem mit dem Code?
Was meinst du mit "Statusleiste"? Die Symbole in der Windows-Taskleiste des Systems? Da dieses Verhalten nur in Windows besteht, haben Sie keine Symbole mehr im System-Tray auf Gnome (3.4+). Vielleicht sprechen Sie über das Symbol der Anwendung? – halflings
Sternsymbol auf oberen Bildern – ManuParra
Hey, hast du irgendeine Lösung gefunden? Zum Hinzufügen eines Anzeigesymbols unter OSX mit Python Gtk (oder PyGObject/Gtk + 3). –