首页 > 其他分享 >PyQt中静态文件在pyinstaller中的打包方式

PyQt中静态文件在pyinstaller中的打包方式

时间:2024-07-29 19:58:09浏览次数:18  
标签:文件夹 文件 pyinstaller PyQt qss 虚拟 png 打包

#创作灵感

Qt中常见的静态文件一般都是.png或者.qss文件等;当软件开发完成后采用pyinstaller进行打包时,应该采用什么方式进行打包尽量压缩打包后的软件的大小呢?

打包方式

打包方式存在三种: 直接打包.png和.qss文件, 采用base64模块进行打包,或者采用qt自带工具pyrcc进行打包。相比前两种方式,采用pyrcc工具进行打包更加方便,本文主要讲pyrcc工具的打包方式,另外两种简单过一遍,有兴趣的可以联系博主。

pyrcc的作用:

将实际的static静态文件路径封装成虚拟文件路径, 图标调用方式一样, 样式调用有点区别(需要使用QtCore.QFile转换) 该文件使用方式:

PyRcc工具打包静态文件

1.pyrcc工具的安装

-> pip安装pyqt5和pyqt5-tool后,该工具就会自动存在qt的文件夹下

2.Pycharm中外部工具的设置

3.整理好.png和.qss文件

4.创建.qrc文件, 并添加xml标签

5.鼠标右键采用pyrcc工具生成二进制码的图片py文件

6.查看resources_rc.py文件

-> 可以看见生成的二进制文件,表示已经将静态文件添加到QtCore的虚拟文件夹中, 后续使用都采用虚拟文件夹路径

虚拟文件夹路径的访问方式

语法:

":/虚拟文件夹/静态文件.png"或":/虚拟文件夹/静态文件.qss"

详细步骤:

(1)将阿里巴巴矢量图获取的.png图标放入./images/文件夹下

(2)在resources.qrc本文件中添加标签: <file>images/icon_name.png</file>

(3)采用pyrcc工具生成resources_rc.py文件

(4)即可获取到虚拟资源文件的路径: -> 获取虚拟资源文件夹名称, 本文件的虚拟文件夹名为: :/images/和:/style_qss/, 本文件生成的虚拟文件路径为: :/images/icon_name.png和:/style_qss/style_file.qss

打包:

既然已经将静态文件转换成.py文件,后续打包根据python的文件进行打包即可,本文不再继续讲解

标签:文件夹,文件,pyinstaller,PyQt,qss,虚拟,png,打包
From: https://blog.csdn.net/qq_41436180/article/details/140779080

相关文章

  • Python monorepo 打包,使用 Poetry
    我想将我的Python源代码组织到一个单一存储库中,具有以下基本结构:projectrootdir-libraryone-pyproject.toml-README-src/orgname/libraryone-__init__.py-somemodule.py-webapi-pyproject.toml-README-src/organa......
  • 如何在QTextEdit中实现类似于PyQt6中QLineEdit的.setMaxLength的.setMaxLength?
    我正在寻找一种方法来实现上述内容。我创建了一个自定义QTextEdit,它在下面的QLabel中显示字符数和允许的字符数。当我创建此类的实例时,一切都按预期工作,除了我尝试重新创建的.setMaxLength函数。下面是我的自定义QTextEdit类classCustomTextEdit(QWidget):def__in......
  • Linux常用打包压缩命令
    压缩命令应用场景tar大部分使用tar即可。创建,查看,解压,解压到指定目录gzip一般配合其他命令使用zip+unzip一般用于解压zip格式的压缩包1.tar打包压缩命令1.1命令详解【功能说明】在Linux系统里,tar是将多个文件打包在一起,并且可以实现解压打包的文件的命令。是系统管理......
  • 如何利用PyQt实现列表添加删除排序功能?
    本文介绍如何实现列表增加删除和排序的功能,效果如下:1页面设计1.1列表#列表数据 self.list=['福宝','萌兰','金虎','蓝天']#创建四行一列标准数据模型self.mode=QStandardItemModel(4,1)#将数据中的列表项作为标准数据模型输出......
  • Windows版MySQL8.4.2LTS解压直用(下载免安装-绿色-项目打包直接使用-含卸载)
    文章目录下载地址选择GPL选择server选择8.5.2LTS长期服务版配置解压配置环境变量初始化新建my.ini配置root密码安装mysql启动mysql服务使用mysql登陆mysql修改mysql密码设置客户端可连接远程MySQL服务器修改host为值为”%“执行语句:updateusersethost='%'where......
  • ubuntu系统中安装PyQt5,并在Pycharm中配置
    本文详细讲述了在Ubuntu22.04中安装PyQt5的过程,并在Pycharm中导入了两个PyQt5的模块。第一步:打开终端,输入以下指令下载pyqt5:sudoaptinstallpyqt5* 输入“y”继续…第二步:输入以下指令,安装pyqt5相应的工具:并输入“y”继续:sudoaptinstallqttools5-dev-tool......
  • Python,Pyinstaller打包含taichi模块的程序
    Python版本3.9、taichi版本1.7.1,pyinstaller版本6.9.0问题描述:正常Pyinstaller打包后报错[Taichi]version1.7.1,llvm15.0.1,commit0f143b2f,win,python3.9.19[Taichi]Startingonarch=x64Traceback(mostrecentcalllast):File"taichi\lang\_wrap_inspec......
  • 通过maven对多模块项目的不同环境切换以及指定环境打包(微服务项目同样适用)
    通过maven对多模块项目的不同环境切换以及指定环境打包(微服务项目同样适用)一、首先在自己的resources目录下准备多个环境的配置文件(具体配置看个人需求,这里仅用个人的作为参考演示)2.application.yml是主配置文件(yml文件注意缩进,严格对应,否则会带来一系列问题)server:......
  • 人脸识别项目打包成exe的过程遇到的问题
     我最近重新拾起了计算机视觉,借助Python的opencv还有face_recognition库写了个简单的图像识别demo,额外定制了一些内容,原本想打包成exe然后发给朋友,不过在这当中遇到了许多小问题,都解决了,记录一下踩过的坑。 1、Pyinstaller打包过程当中出现warning,跟dll文件有关,将"C:\Windows......
  • 开源PHP大型商城购物系统 ShopXO 前端uniapp企业级B2C内置多种配色随意切换支持打包成
    开源PHP大型商城购物系统ShopXO前端uniapp企业级B2C内置多种配色随意切换支持打包成小程序开源PHP大型商城购物系统ShopXO前端uniapp企业级B2C内置多种配色随意切换支持打包成小程序ShopXO是一款基于ThinkPHP6框架完全开源的电商系统,容易扩展,具有强大的负载能力和稳定性业级......