为什么在 mac 上使用 PyQt5 无法添加图标?

why using PyQt5 on mac can not add a icon?

import sys
import os
from PyQt5.QtWidgets import QApplication, QWidget
from PyQt5.QtGui import QIcon

class Example(QWidget):
    def __init__(self):
        super().__init__()
        self.initUI()

    def initUI(self):
        self.setGeometry(300,300,300,220)
        self.setWindowTitle('Icon')

        path = os.path.join(os.path.dirname(sys.modules[__name__].__file__), 'icon_1.png')
        self.setWindowIcon(QIcon(path))

        self.show()

if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = Example()
    sys.exit(app.exec_())

我也使用相对路径,比如 self.setWindowIcon(QIcon('icon_1.png')) 我确定 icon_1.png 在 directory.But 结果总是这样:

所以我哪里做错了?我是 PyQt 和 Whosebug 以及英语的新手...希望 post 有效。

提前致谢。

setWindowIconQApplication的方法,不是QWidget和朋友

的方法

这是您的测试脚本的工作版本:

import sys
import os
from PyQt5.QtWidgets import QApplication, QWidget
from PyQt5.QtGui import QIcon

class Example(QWidget):
    def __init__(self):
        super(Example, self).__init__()
        self.initUI()

    def initUI(self):
        self.setGeometry(300,300,300,220)
        self.setWindowTitle('Icon')
        self.show()

if __name__ == '__main__':
    app = QApplication(sys.argv)
    path = os.path.join(os.path.dirname(sys.modules[__name__].__file__), 'icon_1.png')
    app.setWindowIcon(QIcon(path))
    ex = Example()
    sys.exit(app.exec_())

尝试在 QIcon() 调用中使用 QPixmap('myLogo.png')。刚刚在 Mac 上试过这个并且对我有用 =].