设置图标
最好使用.gif图标,且不能是由其它格式(如.png)强行更改格式过来的图标文件作为程序图标,否则均有可能导致显示不出来
在开发中使用图标
from PyQt5.QtGui import QIcon
self.setWindowIcon(QIcon('images/squirrel.gif'))
此时,我们只要在主函数模块的同级目录下有images文件夹,且里面包含squirrel.gif图标,我们运行主函数测试时就能正常显示图标。
但是这样做在打包后生成的.exe程序执行时并不能显示图标。
打包时图标处理
1.在主函数模块同级目录下创建resources_rc.qrc文件,内容如下(删掉注释)
<!DOCTYPE RCC><RCC version="1.0">
<!--带上前缀,将qrc生成的图标伪装成images目录下的文件 -->
<qresource prefix="/images">
<!--images/squirrel.ico为图标位置 -->
<!--qrc生成的图标名称为image.ico,之后主函数调用的就是这个名称 -->
<file alias="image.ico">images/squirrel.ico</file>
</qresource>
</RCC>
2.将resources_rc.qrc转为.py文件
pyrcc5 -o resources_rc.py resources_rc.qrc
3.引用.py中生成的图标
import resources_rc
# 此处的:/images/image.ico为.py生成的图标,与之前的存储路径无关
# 可以运行测试,如果显示图标,则调用成功
self.setWindowIcon(QIcon(':/images/image.ico'))
4.打包,带上图标物理地址
#run.py为主函数地址
pyinstaller.exe -F -w -i C:\Users\TR\Desktop\translationTools\images\squirrel.ico run.py
5.运行run.exe,成功显示图标