2009-07-29 97 views
22

如何編寫我的應用程序以使其能夠位於Linux系統托盤中?其實就像CheckGmail如何在Linux中編寫系統托盤的應用程序

與CheckGmail一樣,我還想在彈出托盤圖標時出現某種彈出框。

有沒有一個API,類或其他什麼?我能夠找到的所有東西似乎都適用於Windows。

如果我必須是語言特定的,那麼最好在C/C++中,但Python中的解決方案最有可能。

謝謝。

+6

linux沒有系統托盤 - 你的窗口管理器可能 - 你正在使用哪一個? – 2009-07-29 22:38:06

+0

對不起,我在xmobar中使用了Xmonad。 trayer作爲我的系統托盤。但我不確定爲什麼它與我的問題有關? – anderstornvig 2009-07-29 22:46:08

+3

(這是不相關的,因爲freedesktop規範(這是它的全部要點)) – 2009-07-30 21:06:03

回答

25

Qt框架包含一個QSystemTrayIcon類。這意味着您可以使用C++或Python(或任何其他language with Qt bindings,包括C#,Ada,Pascal,Perl,PHP和Ruby)編寫應用程序,並在Windows,Linux,Mac或任何其他支持的Qt操作系統上運行您的應用程序。我應該補充說,Qt應用程序通常在你使用的任何操作系統上無需付出很多努力(甚至在Linux上的Gnome/KDE之間)上尋找本機就可以很好地工作。 Qt還具有優秀的文檔,大量的示例代碼,慷慨的許可證和良好的維護。

9

蟒蛇,eggtrayicon

這裏附帶了debian /測試Debian軟件包python-eggtrayicon的例子...

#!/usr/bin/python 
import pygtk 
pygtk.require("2.0") 
import gtk 
import egg.trayicon 
t = egg.trayicon.TrayIcon("MyFirstTrayIcon") 
t.add(gtk.Label("Hello")) 
t.show_all() 
gtk.main() 

這只是表明在通知區域中的標籤。 (搜索,你可能會得到更好的命中......)

1

從python提示符下試試這個。

import gtk 

icon = gtk.StatusIcon() 
icon.set_from_stock(gtk.STOCK_ABOUT) 

gtk.main() 

您應該在系統托盤中看到一個圖標。

查看此snippet爲一個更大的示例。

相關問題