当前位置: 首页 > news >正文

pyinstaller+upx给python GUI程序添加自定义图标

一、在线.ico图标生成

windows用48x48尺寸
https://www.ico51.cn/

二、upx打包图标工具

https://upx.github.io/

三、UI文件生成py代码

pyside2-uic window.ui > window.py

四、打包命令

1、–icon:这个是.ico图标路径
2、–upx-dir:upx打包工具exe文件路径
3、-no-upx:这个参数是不使用upx压缩,其实pyinstaller正确参数应该是–no-upx,但是使用–no-upx会报错且无法打包,用-no-upx虽然参数不存在但是能正确打包,只是main.spec会变成-no-upx.spec,打出来的包名称也会变成-no-upx.exe,但是不影响使用,就没研究了。
4、备注:安全起见,我的路径都是乱写的,你们写自己的就行

#第一次打包使用
pyinstaller -wF --icon="D:\upx424win64\ico\phiz.ico" -no-upx --upx-dir="D:\\upx424win64" --paths "D:\\GitDir\\qt_project" --add-data "png/1.png;png" --add-data "png/2.png;png" --add-data "png/3.png;png" --add-data "keys/20240402_certificate.pem;keys" --add-data "keys/20240402_private_key.pem;keys" --add-data "keys/20240402_public_key.pem;keys" main.py --hidden-import chat_module  --hidden-import window#使用已有main.spec文件打包(未添加新文件使用)
pyinstaller main.spec

五、生成的main.spec文件

a = Analysis(['main.py'],pathex=['D:\\\\work2023\\\\20231116\\\\GitDir\\\\qt_project'],binaries=[],datas=[('png/1.png', 'png'), ('png/2.png', 'png'), ('png/3.png', 'png'), ('keys/20240402_certificate.pem', 'keys'), ('keys/20240402_private_key.pem', 'keys'), ('keys/20240402_public_key.pem', 'keys')],hiddenimports=['chat_module', 'data_aes_encrypt', 'data_md5_sign',  'window'],hookspath=[],hooksconfig={},runtime_hooks=[],excludes=[],noarchive=False,
)
pyz = PYZ(a.pure)exe = EXE(pyz,a.scripts,a.binaries,a.datas,[],name='o-upx',debug=False,bootloader_ignore_signals=False,strip=False,upx=True,upx_exclude=[],runtime_tmpdir=None,console=False,disable_windowed_traceback=False,argv_emulation=False,target_arch=None,codesign_identity=None,entitlements_file=None,icon=['D:\\upx424win64\\ico\\xxx.ico'],
)
http://www.lryc.cn/news/484127.html

相关文章:

  • LeetCode【0034】在排序数组中查找元素的第一个和最后一个位置
  • react-markdown内容宽度溢出和换行不生效问题
  • uniapp 上传 base64 图片
  • 让Git走代理
  • 通义千问API调用测试 (colab-python,vue)
  • H3C ER8300G2-X未授权导致信息泄露漏洞(CVE-2024-32238)
  • 随手记:简单实现纯前端文件导出(XLSX)
  • SwiftUI 高级开发教程系列 - 第 3 章:数据持久化
  • 代码随想录第二十四天| 93.复原IP地址 78.子集 90.子集II
  • Linux编程:基于 Unix Domain Socket 的进程/线程间通信实时性优化
  • PET-文件包含-FINISHED
  • 《WebGL编程指南》书籍分享
  • go T 泛型
  • React的基础API介绍(二)
  • 远程开发测试必看:如何在群晖NAS上运行网页版Ubuntu
  • JAVA题目笔记(十五)经典算法题
  • 「Mac玩转仓颉内测版8」入门篇8 - Cangjie函数与方法
  • 2024最新版JavaScript逆向爬虫教程-------基础篇之Proxy与Reflect详解
  • 代码修改材质参数
  • [C++11] 包装器 : function 与 bind 的原理及使用
  • java项目-jenkins任务的创建和执行
  • 单片机中的BootLoader(重要的概念讲解)
  • 【数据分享】中国食品工业年鉴(1984-2023) PDF
  • 优选算法 - 1 ( 双指针 移动窗口 8000 字详解 )
  • FairyGUI和Unity联动(入门篇)
  • Go:文件输入输出以及json解析
  • 编写红绿起爆线指标(附带源码下载)
  • 设计模式(四)装饰器模式与命令模式
  • Android11 修改系统语言
  • vue3 查看word pdf excel文件