私はPythonでアプリケーションを開発しています。これはWindows MacOSXおよびLinuxで使用されるようになり、システム(ステータスアイコン)アイコン(およびクリックするとメニューが表示されます)。 Windows、Mac、LinuxでPyGTKを使用できますか?ステータスバー(macosx)、システムトレイ(Windows)、またはLinuxにステータスコードを表示するのに同じコードを使用できますか?MacOSX、Windows、Linux(Gnome)およびPythonのGTK +のステータスアイコン
ありがとうございます。 これはコードである:
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()
これは、MAC OS X(GTK +からスター)でデトレイである:
これは、Windowsのトレイ(GTK +からスター)です。 Windows上で
アイコンをクリックすると、何の問題、メニューは表示されませんが、MacのOXでは、ICOSがsでありますメニューは表示されません。
コードの問題点は何ですか?
「ステータスバーアイコン」とはどういう意味ですか? Windowsのシステムトレイに表示されるアイコン?この動作はWindowsのみに存在するため、Gnomeのシステムトレイにはもうアイコンがありません(3.4+)。アプリのアイコンについて話しているのかもしれませんか? – halflings
上の画像のスターアイコン – ManuParra
ちょっと、解決策は見つかりましたか? Python Gtk(またはPyGObject/Gtk + 3)を使用してOSX上にインジケータアイコンを追加する場合。 –