【麒麟实训】撷英1 - Pyqt程序编译与打包探索
本篇文章内容仅供简略参考。
文章内容来源于我的飞书文档>麒麟实训>大作业-编译与打包,更多问题的详细记录、示例文件以及调研文档请参看源文档。
Python源码编译
python编译
安装pyinstaller:
1 | pip install https://github.com/pyinstaller/pyinstaller/tarball/develop |
只需对入口文件执行命令:
1 | # 两种打包方式 |
参考:
Python PyInstaller安装和使用教程(详解版) (biancheng.net)
PyQt5软件打包_王火火的博客-CSDN博客_pyqt打包
Pyqt窗口图标
关于应用程序窗口图标显示问题可参考:http://t.zoukankan.com/jingsupo-p-13536449.html
加代码的地方:在ui转成的.py文件
1 | self.setWindowIcon(QIcon(':/signal-slot-demo.ico')) |
打包后,编译生成的二进制文件的同级目录需要放上图标。
打包过程总览
- 按照《麒麟软件打包规范》构造deb包目录
- 打开源码项目执行
pyinstaller -D run.py -n signal-slot-demo
- 在pyinstaller中生成的signal-slot-demo文件夹中添加icon图标。并将该文件夹放入构造好的deb包目录下的/opt/apps/中
- 进入构造好的目录,执行命令:
debuild -i -us -uc -b
- 返回上一级目录执行:
sudo dpkg -i signal-slot-demo_1.0.0-1_all.deb
结果:运行正常。窗口图标、任务栏图标、开始菜单栏图标运行正常。(开始菜单栏中的图标是.desktop文件中Icon指定的svg图标。程序窗口以及任务栏图标是Pyqt中代码指定的图标。)
具体文件示例
Control 文件
1 | Source: signal-slot-demo |
Install 文件
1 | opt/apps/signal-slot-demo/ /opt/apps |
.desktop 文件
1 | [Desktop Entry] |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 半方池水半方田!
评论