PyQt5托盘图标消失

Posted

技术标签:

【中文标题】PyQt5托盘图标消失【英文标题】:PyQt5 tray icon disappears 【发布时间】:2014-02-11 16:06:48 【问题描述】:

在带有 XMonad 0.11 和托盘(或 stalonetray)的 Arch Linux 上使用 PyQt5 5.2 和 Python 2.7.6。

编写了一个小演示程序:

#!/usr/bin/env python2

from PyQt5 import QtGui, QtWidgets
import signal

signal.signal(signal.SIGINT, signal.SIG_DFL)

app = QtWidgets.QApplication([])

icon = QtGui.QIcon('clock.png')
tray = QtWidgets.QSystemTrayIcon(icon)
tray.show()

app.exec_()

(clock.png 只是我找到的一些 256x256 图标)

如果我的托盘正在运行,托盘图标显示正常,但透明背景似乎被忽略了。如果托盘重新启动,这种情况在我重新编译 XMonad 或切换显示器设置时不时发生,托盘图标会消失,只显示一个黑色的细竖条,我通常无法与之交互。我常用的其他托盘图标(Spotify、Parcellite、nm-applet、Dropbox)显示得很好。

【问题讨论】:

【参考方案1】:

Qt 5(至少在当前的 5.2.1 稳定版本之前)与 X11 下的大多数托盘都不友好。这会持续一段时间。

相关错误报告:

https://bugreports.qt.io/browse/QTBUG-31762 https://bugreports.qt.io/browse/QTBUG-35658

【讨论】:

以上是关于PyQt5托盘图标消失的主要内容,如果未能解决你的问题,请参考以下文章

WPF 在关闭程序了之后,托盘图标依然存在,请问怎么解决?

Qt设置系统托盘图标和程序图标

C# winform 托盘图标问题?

WPF 托盘图标右键弹出的ContextMenu如何关闭

应用程序停止后Qt关闭托盘图标

wpf托盘图标问题