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

标签 python pyqt pyside system-tray trayicon

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

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

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

最佳答案

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

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

On Windows, the system tray icon size is 16x16; on X11, the preferred size is 22x22. The icon will be scaled to the appropriate size as necessary

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

  1. 使用 QPainter 创建两个 22x22 系统托盘图标:一个显示几个小时,另一个显示几分钟
  2. 显示两个系统托盘图标(左侧为小时,右侧为分钟)

此解决方法很容易出错,因为图标可能会以错误的顺序显示。如果 X11 是您唯一的目标平台,我强烈建议您使用 pygtk。

关于python - 如何使用 PyQt 或 PySide 在系统托盘中显示一些文本而不是图标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12881058/

相关文章:

python - 使用 httplib 使用 python 上传文件

python - 尝试在 pyqt5 gui 应用程序中使用 4x4 键盘

python - pyqt - 将 qt 设计器中的子小部件放置在父级附近

python - 将参数传递给 featuretools 中的聚合基元

python - psycopg - 获取格式化的 sql 而不是执行

python - 测试需要 Flask 应用程序或请求上下文的代码

python - 修复 QTreeWidget 上的选定项目荧光笔

python - Pycharm 导入 Pyqt4 和 Pyqt5 时出错

css - PySide:样式表css的pyside-uic预览与app中实际显示不一样

python - QLayout:尝试将 QLayout ""添加到 QWidget "",它已经有一个布局