为什么在 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 有效。
提前致谢。
setWindowIcon
是QApplication
的方法,不是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 上试过这个并且对我有用 =].
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 有效。
提前致谢。
setWindowIcon
是QApplication
的方法,不是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 上试过这个并且对我有用 =].