PyQt5通过pyinstaller打包成可执行文件以及图标不生效问题的解决方案

news/2024/11/16 22:47:52/

pyinstaller

安装pyinstaller

pipenv install pyinstaller

或者通过pip安装

pip install pyinstaller

在这里插入图片描述

基本常用参数

–i 图标路径
-F 打包成一个exe文件
-w 使用窗口,无控制台
-c 使用控制台,无窗口
-D 创建一个目录,里面包含exe以及其他一些依赖性文件
-h 查看参数

在这里插入图片描述

打包图标失效问题

通过qrc将其转换为py文件后再导入使用即可解决这个问题

# test.qrc
<RCC><qresource prefix="/"><file>icon.ico</file></qresource>
</RCC>

通过下面命令即可完成py文件转换

pyrcc5 -o query_ico_rc.py test.qrc

转换后图片资源被转换为二进制形式
在这里插入图片描述
然后直接引入上面转换的文件即可

# main.py
import query_ico_rc
...
self.setWindowIcon(QIcon(':/icon.ico'))

通过pyinstaller打包-i参数不生效的问题

首先要排除你.ico图标的路径问题,如果使用相对路径不成功,可以试试绝对路径,其次因为.ico图标有大小尺寸的,所以你转换成的.ico会因为大小而使得你所打包的应用程序的图标显示不全,
在这里插入图片描述
对于windows平台,这里的选项会导致你的图标显示出现问题,所以最佳的解决方案就是多帧ico,这里推荐ToYcon这个软件可以制作多帧ico

下载地址:
https://toycon.en.softonic.com/
在这里插入图片描述
在这里插入图片描述
配置好以后直接将你要转换的资源文件往里拖就可以完成转换!

现在再通过pyinstaller通过-i参数打包不出意外图标即可生效!

关于生成的可执行程序文件太大

首先优化源码,没有使用的包尽量不要导入,还有导入尽量精准
比如

from PyQt5.Qt import *

这种导包就是大忌,因为非常多的我们都没有用到,生成的时候就会非常大

其次可以通过upx压缩,
项目地址:https://github.com/upx/upx/releases/

在使用pyinstaller的时候通过 --upx-dir参数指定upx.exe的位置即可!


http://www.ppmy.cn/news/364523.html

相关文章

torch.hub

参考 torch.hub - 云社区 - 腾讯云 Pytorch Hub is a pre-trained model repository designed to facilitate research reproducibility. Publishing models Pytorch Hub supports publishing pre-trained models(model definitions and pre-trained weights) to a github r…

pyinstaller使用多帧ICO图标

pyinstaller使用多帧ICO图标 pyinstaller使用教程&#xff1a;https://pyinstaller.readthedocs.io/en/stable/ pyinstaller -i test.ico test.py如果ico图标不是多帧ico的话&#xff0c;桌面图标会出现锯齿&#xff0c;并且放大缩小桌面图标的话&#xff0c;软件图标不会自动…

Tacotron2

Natural TTS Synthesis by Conditioning Wavenet On Mel Spectrogram predictions 本篇论文是Tacotron2官方发布的论文&#xff0c;主要讲述了该组在TTS方向的新的进展。Tacotron2在目前TTS领域有着十分重要的地位。 该系统由两个部分组成&#xff0c;一个部分是循环序列到序列…

【yocto】

yocto yocto目录下载yocto的poky项目介绍使用Bitbake编译编译步骤开始编译安装python 2020-8-1 yocto目录 imx-yocto|__downloads|__build| |__cache| |__conf| | |__bblayers.conf| | |__local.conf | |__tmp| |__work| |__deploy| |__…

steam搬砖全套操作流程之如何卖货(第③课)

上一篇文章阿阳分享了Steam项目如何选品&#xff0c;今天就给大家说说装备如何发货等重要事项。 本节课主要为大家讲解&#xff1a;定价规则&#xff0c;加价原则&#xff0c;认识装备磨损度和印花&#xff0c;自动发货软件和自动上架软件的讲解。 &#xff08;Steam装备选品…

Toy Train

D1. Toy Train (Simplified) https://codeforces.com/contest/1130/problem/D1 D2. Toy Train https://codeforces.com/contest/1130/problem/D2 题解&#xff1a; /* *Author: STZG *Language: C */ #include <bits/stdc.h> #include<iostream> #include&l…

Torch

torch的安装 torch的版本与python的版本是挂钩的&#xff0c;python低版本安装不了高版本的torch&#xff08;亲测&#xff09;。 python 3.6版本出问题 在下面的网站中找到 https://pytorch.org/ python版本将对应torch的版本 https://www.cnblogs.com/tingtin/p/13601104.h…

Power Toys!!!

Power Toys!!! PowerToys是微软最初发布于Windows 95平台的系统增强工具&#xff0c;直至2002年比尔盖茨调整研发重心&#xff0c;提升系统安全性&#xff0c;PowerToys 这一项目在当时因为Bug 多&#xff0c;功能不稳定&#xff0c;测试不严格&#xff0c;在安全审查中未能幸免…