如何使用 PyQt5 设置窗口图标?
Posted
技术标签:
【中文标题】如何使用 PyQt5 设置窗口图标?【英文标题】:How to set a window icon with PyQt5? 【发布时间】:2017-03-04 23:46:47 【问题描述】:from PyQt5 import QtWidgets, QtGui
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
class Application(QMainWindow):
def __init__(self):
super(Application, self).__init__()
self.setWindowIcon(QtGui.QIcon('icon.png'))
我正在尝试设置一个窗口图标(窗口左上角),但正常图标却消失了。
我尝试了许多图标分辨率(8x8、16x16、32x32、64x64)和扩展名(.png 和 .ico)。
我做错了什么?
【问题讨论】:
使用绝对路径。 谢谢,但它不起作用。我尝试使用 self.setWindowIcon(QtGui.QIcon('C:/Users/John/PycharmProjects/pythonproject/icon.png'))。另外,我必须在导入中添加 QtGui 才能获得 QIcon。我什至不确定这是否是使用 PyQt5 的好方法。 哦,我发现我的错误了,我以为我的图标是黑底白字,但实际上它是透明底白字。 self.setWindowIcon(QtGui.QIcon('icon.png')) 一切正常。我的错,非常感谢你的帮助 ekhumoro! 【参考方案1】:asker 建议的命令对我有用:
self.setWindowIcon(QtGui.QIcon('icon.png'))
我放了 256x256 png,一切正常。我有 Win 7 pro 64 位,Python 3.5.2 32 位。
【讨论】:
【参考方案2】:提问者已经给出了答案(隐形图标)。我想补充一点,脚本可能不会在脚本目录中执行。在任何情况下,为了安全起见,您可能需要确保图标是相对于脚本所在的目录加载的:
import os
# [...]
scriptDir = os.path.dirname(os.path.realpath(__file__))
self.setWindowIcon(QtGui.QIcon(scriptDir + os.path.sep + 'logo.png'))
【讨论】:
这是唯一对我有用的东西!非常感谢!!!【参考方案3】:我正在使用 PyQT5。并且代码应该是...
icon = QtGui.QIcon()
icon.addPixmap(QtGui.QPixmap("programmer.png"), QtGui.QIcon.Selected, QtGui.QIcon.On)
MainWindow.setWindowIcon(icon)
【讨论】:
【参考方案4】: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'))
【讨论】:
以上是关于如何使用 PyQt5 设置窗口图标?的主要内容,如果未能解决你的问题,请参考以下文章