2012-10-14 34 views
1

我只是想創建一個數字時鐘,它顯示系統托盤中的當前時間。如何使用PyQt或PySide在系統托盤中顯示一些文本而不是圖標?

我可以使用QPainter繪製一個圖標並將其設置爲QSystemTrayIcon對象,但該圖標始終大小爲22x22像素。

我該如何做到這一點,我知道PyGTK可以簡單地將標籤添加到托盤圖標對象,PyQT/PySide的解決方案是什麼?

回答

1

「圖標被調整爲22×22像素」,我會假設你正在運行的基於X11系統上的應用程序(Ubuntu或者其它Linux發行版。)

QSystemTrayIcon doc,它說,你的圖標將被調整根據您使用的操作系統:

在Windows上,系統托盤圖標大小爲16x16;在X11上,首選尺寸是22x22。該圖標將被調整,以在必要時適當大小

,您仍然可以解決此:

  1. 與QPainter的創建兩個22×22系統托盤圖標:一個小時,而另一個用於分鐘
  2. 顯示兩個系統托盤圖標(小時左邊,右邊分鐘)

這個解決辦法是容易出錯,因爲圖標可能會以錯誤的順序顯示。如果X11是您唯一的目標平臺,我強烈建議您使用pygtk。

+0

這是一個可憐的事情,很難理解這樣一個強大的框架無法做到這麼簡單的工作! – 0x3f

+0

我認爲Qt有這個限制,因爲他們想讓他們的UI框架可移植,並且跨操作系統一致。 – nattster