我正試圖在我的程序中顯示系統托盤圖標。 當我開始我的程序它顯示窗口,當我撞窗口它被隱藏。 然後,如果我點擊系統托盤圖標,它會顯示我一個空白窗口,但不是窗口的內容。爲什麼會發生這種情況? 繼承人的我的代碼:pygtk系統托盤圖標不起作用
class Main(gtk.Window):
def __init__(self):
super(Main,self).__init__()
self.set_title("Virtual Machine Monitor")
self.set_position(gtk.WIN_POS_CENTER)
self.set_default_size(640,600)
self.set_geometry_hints(min_width=640,min_height=600)
self.set_icon_from_file("../images/activity_monitor2.png")
self.connect("destroy",self.window_destroy)
menubar = self.add_menubar()
pixbuf = gdk.pixbuf_new_from_file_at_size("../images/activity_monitor2.png",25,25)
statusicon = gtk.StatusIcon()
statusicon = gtk.status_icon_new_from_pixbuf(pixbuf)
statusicon.connect("activate",self.tray_activate)
self.show_all()
def tray_activate(self,widget):
self.show_all()
def window_destroy(self,widget):
self.hide_all()
if __name__ == "__main__":
Main()
gtk.main()
當我點擊系統托盤圖標,它顯示我的窗口,而是一個空白窗口。
所以請幫助我。 謝謝先進。
微調:你不需要再處理「摧毀」了。 – 2011-03-12 07:44:45
是的,我沒有注意到這一點。固定。 – saeedgnu 2011-03-12 08:42:04
'tray_activate'中不需要'show_all()'(因爲有一次'__init__'中調用了show_all'),'show()'就足夠了,除非present()更好。 – saeedgnu 2011-03-13 05:45:20