我学习本教程http://zetcode.com/gui/pyqt5/firstprograms/ 并在这里编码。
import sys
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')
self.setWindowIcon(QIcon('web.png'))
self.show()
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())
我可以显示窗口图标吗?我使用PyQt5,Python3.4和Linuxmint 17.2肉桂。
答案 0 :(得分:3)
我不确定,你的期望是什么:
windowicon
显示为applicationIcon
(例如,在ubuntu gnome上,请在后台查看我的代码)
如果未设置图标,windowIcon()将返回应用程序图标
(的QApplication :: windowIcon())。
http://doc.qt.io/qt-5/qwidget.html#windowIcon-prop
在ubuntu上看起来像这样:
所以我认为,代码工作正常
答案 1 :(得分:1)
检查图标文件的放置位置。它应该放在你的情况下的执行目录中。您可以通过以下更改检查执行directroy:
if __name__ == '__main__':
import os
print("Work dir:" + os.getcwd())
app = QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())
答案 2 :(得分:1)
我遇到了完全相同的问题。
第一件事。实际上,在QWidget或QMainWindow类下没有setWindowIcon()方法。您应该尝试按以下方法在“应用程序”级别设置QIcon。
app = QApplication(sys.argv)
app.setWindowIcon(QtGui.QIcon('home.png'))
第二,使用此代码创建的图标不会反映在窗口标题上,而是将显示为应用程序图标,如下图所示。 home.png
Application icon in Mac not the Window Icon
最后,路径并不重要,它可以是绝对路径,也可以是相对路径,系统会考虑使用。
答案 3 :(得分:0)
尝试PySide.QtGui.QApplication.setWindowIcon(icon)。像这样:
if __name__ == '__main__':
app = QApplication(sys.argv)
app.setWindowIcon(QIcon('web.png'))
ex = Example()
sys.exit(app.exec_())