Tôi đang phát triển một ứng dụng trong python và nó sẽ được sử dụng trong Windows MacOsX và Linux, và bây giờ tôi đang phát triển biểu tượng (biểu tượng trạng thái) (và menu khi bạn nhấp) trong thanh Mac OSX. Tôi có thể sử dụng PyGTK trong cửa sổ, mac và linux và sử dụng cùng mã cho biểu tượng trạng thái hiển thị trên thanh trạng thái (macosx), khay hệ thống (cửa sổ) hoặc Linux không?Biểu tượng trạng thái trong GTK + trên MacOSX, Windows và Linux (Gnome) và python
Xin cảm ơn trước. Đây là mã:
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()
Đây là de khay trong MAC OS X (ngôi sao từ gtk +):
Đây là khay trong WINDOWS (ngôi sao từ gtk +):
trên cửa sổ không có vấn đề, menu hiển thị khi bạn nhấp vào biểu tượng, nhưng trong Mac OX, ICOS là s như thế nào nhưng menu không được hiển thị.
Sự cố với mã là gì?
Bạn có ý nghĩa gì với "biểu tượng thanh trạng thái"? Các biểu tượng được hiển thị trong khay hệ thống trong Windows? Vì hành vi này chỉ tồn tại trong Windows, bạn không có bất kỳ biểu tượng nào trong khay hệ thống trên Gnome nữa (3.4+). Có lẽ bạn đang nói về biểu tượng của ứng dụng? – halflings
Biểu tượng ngôi sao trên hình ảnh phía trên – ManuParra
Xin chào, bạn có tìm thấy giải pháp nào không? Để thêm biểu tượng chỉ báo trên OSX bằng Python Gtk (hoặc PyGObject/Gtk + 3). –