窗口和系统托盘图标在从资源中引用时不显示

2 投票
1 回答
763 浏览
提问于 2025-04-16 19:52

这是 testTray.py 文件

from PyQt4.QtCore import *
from PyQt4.QtGui import *

import imgAgent_rc

class Window(QDialog):
    def __init__(self):
        super(Window, self).__init__()

        self.trayIcon = QSystemTrayIcon(self)

        icon = QIcon(':/images/logo/image_16x16.png')     # Problem
        #icon = QIcon('images/logo/image_16x16.png')        # OK

        self.trayIcon.setIcon(icon)
        self.trayIcon.setVisible(True)
        self.trayIcon.show()

if __name__ == '__main__':
    app = QApplication(sys.argv)
    window = Window()
    window.show()
    sys.exit(app.exec_())

这是文件夹的结构:

imgAgent.qrc
imgAgent_rc.py
testTray.py
+images
|---+logo
    |---image_16x16.png

imgAgent.prc

<RCC>
  <qresource prefix="logo">
    <file>images/logo/image_16x16.png</file>
    ...
  </qresource>
</RCC>

我使用以下命令生成了 .py 资源文件:
pyrcc4.exe -py3 -o imgAgent_rc.py imgAgent.qrc

当从资源中引用时,系统托盘图标和窗口图标都不显示,但通过相对路径引用时却能正常显示。

问题 正常

1 个回答

2

试试这个资源文件的代码:

<RCC>
  <qresource>
    <file>images/logo/image_16x16.png</file>
  </qresource>
</RCC>

撰写回答