才学pyqt5不久,用pyinstaller打包自己编的小程序后发现图标没了,于是上网找了好久的资料,终于搞好了。
整合一下以免以后忘了,也希望能帮助到别人,以下操作在window-10完成。
pyinstaller可以由py文件生成exe文件,是目前用的较为广泛的一种方法
首先pip安装pyinstaller:
打开命令行输入pip install pyinstaller 会自动安装,前提联网
Qt中的qrc文件是一个xml格式的资源配置文件,qrc文件可以用安装了Qt的vs生成也可以手写,手写并不会很麻烦,
qrc大致格式为:
<RCC>
<qresource prefix="/">
<file>文件名</file>
#多少个文件写多少行
</qresource>
</RCC>
(以后的操作应注意相对路径和绝对路径)
以下面为例我们先把图标资源文件(高亮的四张图片)放到工程所处的文件夹下面
然后再再同一目录下(后面的操作都在该目录进行)创建一个txt文件resource.txt打开编辑
保存后更改文件后缀名为.qrc
接下来使用pyrcc5进行转换得到.py文件(pyrcc5是PyQt5的附带工具,安装PyQt5后有)
使用命令行进入项目所在文件夹进行操作或者使用Powershell,这里我使用的是Powershell
在项目所在文件夹按住shift单击鼠标右键弹出菜单,打开Powershell
键入命令pyrcc5 -o 目标文件名 源文件名
得到了resource.py之后就可以在主脚本snake.py中使用了,将resource.py文件添加到解决方案后import resource
然后我们就可以使用resource.py中的资源了
注意:图片名称还是原来的名称,前面的“:”冒号一定不能少(我也不知道为什么)
按照这样的方法设置好四个图标后看一下效果
最后使用pyinstaller打包
pyinstaller的使用方法可以参考这篇文章https://blog.csdn.net/jirryzhang/article/details/78881512
键入pyinstaller -F -w snake.py -i snake.ico -n snake
得到三个文件夹,我们最终要的exe文件在dis文件夹
这个时候将之前用到的png图标文件、qrc文件和pyinstaller生成的两个文件夹等删除snake.exe也可以正常运行
搞定啦