打包工具--pyinstaller

news2024/12/22 16:25:21

下载库

pip install pyinstaller

打包命令

Pyinstaller -D setup.py 打包exe

Pyinstaller -F -w run.py 不带控制台的打包

Pyinstaller -F -i xx.ico setup.py 打包指定exe图标打包

-D:打包为一个文件夹,其中exe文件在文件夹内部,这样子单个exe文件就比较小 -F:打包为单个exe文件,一般内部包含了依赖库,所以较大

.spec配置

3f23946fbff66118ca6332836033fa30.png

在此处可以写入配置文件,格式如上所示。写好后保存。回到控制台:

pyinstaller Test.spec

打包此文件,如果此文件报路径错误,好好看看datas中的路径,最好写相对路径。打包完成后:

d28bb13d8dfc3fb893becc0b780c3cbf.png

在后续中,修改配置文件即可。

打包图标-

Pyinstaller -F -w -i images\icon.ico run.py

打包后没有窗口图标:

创建一个images.qrc文件

<RCC>
    <qresource prefix='/'>
        <file>images/icon.ico</file>
    </qresource>
</RCC>

转成py

pyrcc5 -o images.py images.qrc

在ui界面引入打包文件,然后引入即可

MainWindow.setWindowIcon(QIcon(':/images/icon.ico'))

打包后dist文件中图标没有发生改变,修改文件名称即可

Pyqt5-qss文件

------已经测试------方法------ 创建一个qrc文件

<RCC>
    <qresource prefix='/'>
        <file>images/icon.ico</file>
    </qresource>
    <qresource prefix='/'>
        <file >./uis/style_ss.qss</file>
    </qresource>
</RCC>

转成py

pyrcc5 -o resources.py resources.qrc

引入,需要引入resources

import sys
import qdarkstyle
from PyQt5.QtCore import QFile
from PyQt5.QtWidgets import *
from data_processing.start import START
import data_processing.resources

if __name__ == '__main__':
    app = QApplication(sys.argv)
    ui = START()
    path = ':/uis/style_ss.qss'
    file = QFile(path)
    file.open(QFile.ReadOnly | QFile.Text)
    stylesheet = file.readAll().data().decode('utf-8')
    qApp.setStyleSheet(qdarkstyle.load_stylesheet(qt_api='pyqt5') + stylesheet)
    sys.exit(app.exec_())

打包qss文件以及取别名,注意;后面有个.

Pyinstaller -F -w -i images\icon.ico --name=" " --add-data=resources.qrc;.  run.py

这里的--name就是别名,--add-data则是将qrc文件一并打包进去

图标模糊问题

适当修改转为ico图片的大小,并不是越大越清晰,转换地址https://www.ico51.cn/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/495082.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

更换外线和智能电表后家里用电频繁跳闸的检修

老家的电路老是跳闸。今天检修了老家的线路&#xff0c;故障就是更换了外线路后&#xff0c;家里烧水或者用电磁炉就频繁跳闸。其实也说不清楚&#xff0c;因为最近又改了智能表嘛。 到电表处观察&#xff0c;是插卡智能表&#xff0c;电表进线有个空开C63A。电表出来有个空开C…

万字长文 - Nature 综述系列 - 给生物学家的机器学习指南 4 (生物应用的挑战)...

万字长文 - Nature 综述系列 - 给生物学家的机器学习指南 1 万字长文 - Nature 综述系列 - 给生物学家的机器学习指南 2 &#xff08;传统机器学习方法如何选择&#xff09; 万字长文 - Nature 综述系列 - 给生物学家的机器学习指南 3 &#xff08;人工神经网络&#xff09; 生…

C++实践模拟(stack,queue priority_queue,仿函数)

stack和queue的实现&#xff0c;不同于vector和list那般复杂&#xff0c;如果你经历过vector和list的洗礼&#xff0c;那么当你看到stack和queue的大致实现时&#xff0c;你可能会惊叹&#xff0c;怎么能这么简洁。其原因有很多方面的&#xff0c;比如stack和queue不需要实现迭…

第11届蓝桥杯国赛真题剖析-2020年10月31日Scratch编程初中级组

[导读]&#xff1a;超平老师的《Scratch蓝桥杯真题解析100讲》已经全部完成&#xff0c;后续会不定期解读蓝桥杯真题&#xff0c;这是Scratch蓝桥杯真题解析第129讲。 第11届蓝桥杯Scratch国赛真题&#xff0c;这是2020年10月31日举办的全国总决赛&#xff0c;由于疫情影响&am…

【图像】图像格式(3) : BMP

1. 背景 BMP可以说是图像中最简单的格式了&#xff0c;没有图像压缩算法&#xff0c;基本可以看做图像的RGB裸数据加了一些基本的metadata构成。 这也导致了bmp的文件一般都是非常的大&#xff0c;除了windows原生的支持之外&#xff08;从1990年的windows3.0开始&#xff09;…

破事精英2◎爬向未来

胡强的2033未免有些过去可怕&#xff0c;海星果然又是反派。 只剩“脑子”的胡强 400百斤只剩“嘴”的庞小白 将自己身体分成一个个“方块”的苏克杰 苍蝇满天飞“衣服堆”的金若愚 “脑子”送到月球打两份工的沙乐乐 有机器人或者分身帮我们干活赚钱&#xff0c;我们去吃喝玩…

FM33A048B 红外调制

TZBRG寄存器保存一个 11 位的分频系数 X &#xff0c;其值为 0~2047 之间的任一整数。 6 路 UART 共用一个红外调制频率发生器。 红外调制频率计算公式&#xff1a; FIR FAPBCLK/ (TZBRGTZBRG 1) 红外调制的方式为&#xff1a;发送数据0 时调制红外频率&#xff0c;发送数据 1…

JavaScript实现输入两个数比较两个数的大小,输出个人信息的两个程序代码

以下为实现输入两个数比较两个数的大小&#xff0c;输出个人信息的两个程序代码和运行截图 目录 前言 一、实现输入两个数比较两个数的大小 1.1 运行流程及思想 1.2 代码段 1.3 JavaScript语句代码 1.4 运行截图 二、输出个人信息 2.1 运行流程及思想 2.2 代码段 2.3…

Java每日一练(20230506) 全排列II、岛屿数量、有效数独

目录 1. 全排列 II &#x1f31f;&#x1f31f; 2. 岛屿数量 &#x1f31f;&#x1f31f; 3. 有效的数独 &#x1f31f;&#x1f31f; &#x1f31f; 每日一练刷题专栏 &#x1f31f; Golang每日一练 专栏 Python每日一练 专栏 C/C每日一练 专栏 Java每日一练 专栏 …

atbf中imu数据读取逻辑分析仪抓取

一、说明 使用逻辑分析仪抓区imu的spi和中断io的信号&#xff0c;从而侧面描述atbf在imu上的数据读取方式&#xff1b; 二、硬件说明 1、硬件材料 1、mcu at32F437开发板 2、imu icm42688p 3、逻辑分析仪 梦源逻辑分析仪 4、调试器 jlink 2、原理图 3、实物图 4、固…

【git】git lfs

目录 原理 使用方法 报错记录 certificate signed by unknown authority 原理 项目中的大文件会很占空间。 git lfs(large file storage)将大文件替换为小指针, 当真正需要到这些大文件的时候, 才会从本地或者远端的lfs缓存中下载这些大文件. git lfs拥有本地lfs缓存和远端…

ubuntu系统版本查询命令方法

目录 一、使用命令&#xff1a;cat /proc/version 查看 二、 使用命令&#xff1a;uname -a 查看 三、 使用命令&#xff1a;lsb_release -a 查看 四、使用命令&#xff1a;hostnamectl 查看 五、使用命令&#xff1a;cat /etc/issue 查看 一、使用命令&#xff1a;cat /…

LeetCode:21. 合并两个有序链表

21. 合并两个有序链表 1&#xff09;题目2&#xff09;思路3&#xff09;代码4&#xff09;结果 1&#xff09;题目 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例 1&#xff1a; 输入&#xff1a;l1 [1,2,4], l2…

百度地图API介绍

4. 百度地图api 介绍 1. api开发文档 1.2 区别 JavaScript API v3.0 JavaScript API v3.0 链接 ,百度地图JavaScript API是一套由JavaScript语言编写的应用程序接口,可帮助您在网站中构建功能丰富、交互性强的地图应用,支持PC端和移动端基于浏览器的地图应用开发,且支持HT…

2023.03 青少年机器人技术等级考试理论综合试卷(三级)

2023 年 3 月青少年机器人技术等级考试理论综合试卷&#xff08;三级&#xff09; 一、单选题(共 20 题&#xff0c;共 80 分) 1. Arduino UNO/Nano 主控板&#xff0c;电位器连接到 A0 引脚&#xff0c;下图程序运行时&#xff0c;变量 potVal 值的范围是&#xff1f;&#xf…

【原创】DELL R750xs 无盘ESXi7安装

一、环境 一台磁盘阵列 多台DELL R750xs 充当esxi主机。 当前端口组 当前虚拟交换机 当前物理网卡 当前VMKernel网卡 当前ISCSI配置 二、问题 虚拟化环境重启时&#xff0c;ESXi主机比磁盘阵列先启动&#xff0c;启动后发现磁盘阵列处于脱机状态。 三、目标 让磁盘阵列启动…

SuperMap GIS基础产品云GIS FAQ集锦(2)

SuperMap GIS基础产品云GIS FAQ集锦&#xff08;2&#xff09; 【iManager】云套件ispeco-dashboard-api的日志等级只有到info&#xff0c;如何设置才能查看到debug级别的日志&#xff1f; 【解决方案】可以在ispeco-dashboard-api的deployment中添加以下环境变量&#xff0c;…

C++——类和对象(3)

作者&#xff1a;几冬雪来 时间&#xff1a;2023年5月6日 内容&#xff1a;C类和对象内容讲解 目录 前言&#xff1a; 1.运算符重载&#xff08;续&#xff09;&#xff1a; 2.赋值重载&#xff1a; 结尾&#xff1a; 前言&#xff1a; 在上一篇博客中我们再一次讲解了…

【Python入门】Python的判断语句(布尔类型和比较运算符)

前言 &#x1f4d5;作者简介&#xff1a;热爱跑步的恒川&#xff0c;致力于C/C、Java、Python等多编程语言&#xff0c;热爱跑步&#xff0c;喜爱音乐的一位博主。 &#x1f4d7;本文收录于Python零基础入门系列&#xff0c;本专栏主要内容为Python基础语法、判断、循环语句、函…

JavaScript:二叉树(层序遍历)

二叉树的层序遍历 层序遍历&#xff1a;逐层地&#xff0c;从左到右访问所有节点 广度优先 文章目录 二叉树的层序遍历102. 二叉树的层序遍历 - 力扣&#xff08;LeetCode&#xff09;107. 二叉树的层序遍历 II - 力扣&#xff08;LeetCode&#xff09;199. 二叉树的右视图 - 力…