2009-01-07 72 views
11

Windows有「系統托盤」,其中包含MSN,Steam等時鐘和長時間運行的服務。系統托盤應用程序如何在其他平臺上完成?

我想開發一個wxPython托盤應用程序,但是我想知道它將如何移植到其他平臺。每個平臺上托盤的等效數量是多少,以及需要多少手動工作來支持Windows,OSX和Linux(特別是哪些shell最友好)。

回答

1

在Linux上它確實取決於 - 你在那裏有不同的編程環境,有些窗口管理器甚至沒有托盤區域。 Altho,如果你使用Gtk(而wx是Gtk),gtk.StatusIcon是你的朋友。

Here是一些例子(沒有檢查他們是否真的工作,但應該告訴你路徑)。

對於wx我發現了一些示例代碼here

2

對於許多Linux桌面系統(Gnome,KDE等),實現了Freedesktop的SysTray Protocol。如果任何其他解決方案失敗,您可以嘗試。

3

在OS X下你有狀態菜單欄 - 最右邊的項目往往是狀態相關的東西(如電池狀態,WiFi連接等)。

嘗試搜索NSStatusBarNSMenuExtra。將應用程序轉換爲具有NSStatusBar菜單並且不出現在Dock中的應用程序幾乎是微不足道的。如何做到這一點有tutorialsaround

+0

我的擔心是MSN出現在碼頭,並通過彈跳進行通知。我認爲這也是我應該實施礦井的原因,因爲它主要是通知服務。 – Soviut 2009-01-07 14:42:41

1

使用Qt:Qt Systray Example

那將表明對Qt的運行在所有的平臺和支持這種圖標的系統托盤圖標。不過,當你不支持systray功能時,你需要提出一個策略。

相關問題