如何使用PyQt或PySide在系统托盘中显示一些文本而不是图标?

时间:2012-10-14 09:48:57

标签: python pyqt pyside system-tray trayicon

我只是想创建一个数字时钟,在系统托盘中显示当前时间。

我可以使用QPainter绘制一个图标并将其设置为QSystemTrayIcon对象,但图标的大小始终为22x22像素。

我怎样才能实现这一点,我知道PyGTK可以简单地在托盘图标对象上添加标签,PyQT / PySide的解决方案是什么?

1 个答案:

答案 0 :(得分:1)

“图标大小调整为22x22像素”,我假设您在基于X11的系统(Ubuntu或其他Linux发行版)上运行您的应用程序。

QSystemTrayIcon doc中,它表示您的图标将根据您使用的操作系统调整大小:

  

在Windows上,系统托盘图标大小为16x16;在X11上,首选大小为22x22。该图标将根据需要缩放到适当的大小

您仍然可以通过以下方式解决此问题:

  1. 使用QPainter创建两个22x22系统托盘图标:一个用于小时,另一个用于分钟
  2. 显示两个系统托盘图标(左侧小时,右侧小时)
  3. 此解决方法容易出错,因为图标可能显示的顺序错误。如果X11是您唯一的目标平台,我强烈建议您使用pygtk。