PyQt5之打包资源文件
PyQt5之打包资源文件
一、使用Qt Designer 加载资源文件
- 在Qt Designer 中设计界面时是不能直接加入图片和图标等资源的,而是需要在PyQt开发目录下编写.qrc文件(可以用文本编辑器打开扩展名为.qrc的资源文件)。
新建一个资源文件apprcc.qrc,可以使用Eric创建这个文件,操作如图,它会自动生成下面的代码。它的内容如下:
<!DOCTYPE RCC>
<RCC version="1.0">
<qresource>
</qresource>
</RCC>
- 打开Qt Designer ,新建一个类型为Widget 的简单窗体,该窗体文件名为fir1.ui。然后打开资源浏览器,进入资源编辑界面,打开资源文件,这里打开上面创建的apprcc.qrc。接下来选中apprcc.qrc,设置图片资源的前缀为pic,最后添加图片资源。完成后,可查看apprcc.qrc 文件的内容如下:
<RCC><qresource prefix="pic"><file>图片.jpg</file></qresource>
</RCC>
二、在窗体中使用资源文件
- 继续使用Qt Designer 操作 fir1.ui 文件。在Qt Designer窗口的左侧选择Label控件拖入到窗体中并且选中它,在右侧的属性编辑器中找到
pixmap
属性,单击后面的按钮,把它的值改为资源文件中的一张图片,如下图:
- 保存之后将fir.ui文件转换为.py文件,内容如下:
# -*- coding: utf-8 -*-# Form implementation generated from reading ui file 'D:\Python--PyQt5--Eric6\fir1.ui'
#
# Created by: PyQt5 UI code generator 5.13.2
#
# WARNING! All changes made in this file will be lost!from PyQt5 import QtCore, QtGui, QtWidgetsclass Ui_Form(object):def setupUi(self, Form):Form.setObjectName("Form")Form.resize(693, 608)self.label = QtWidgets.QLabel(Form)self.label.setGeometry(QtCore.QRect(190, 180, 211, 161))self.label.setText("")self.label.setPixmap(QtGui.QPixmap(":/pic/图片.jpg"))self.label.setObjectName("label")self.retranslateUi(Form)QtCore.QMetaObject.connectSlotsByName(Form)def retranslateUi(self, Form):_translate = QtCore.QCoreApplication.translateForm.setWindowTitle(_translate("Form", "Form"))
import apprcc_rcif __name__ == "__main__":import sysapp = QtWidgets.QApplication(sys.argv)Form = QtWidgets.QWidget()ui = Ui_Form()ui.setupUi(Form)Form.show()sys.exit(app.exec_())
运行该代码,会抛出以下异常信息:
Traceback (most recent call last):
File “D:\Python–PyQt5–Eric6\Ui_fir1.py”, line 29, in
import apprcc_rc
ModuleNotFoundError: No module named ‘apprcc_rc’
说明在脚本中使用以下代码导入的模块异常,所以我们还需要将.qrc文件转换为.py文件。
- 使用PyQt5提供的pyrcc5命令将apprcc.qrc文件转换为apprcc_rc.py文件,打开cmd,输入命令:
pyrcc5 apprcc.qrc -o apprcc_rc.py
。完成之后就可以正常运行了,效果如下图:
(注:最好是将资源文件、.ui文件和.qrc文件保存到同一路径下面)
PyQt5之打包资源文件相关推荐
- Pyinstaller打包exe(包括打包资源文件 绝不出错版)
Pyinstaller打包exe(包括打包资源文件 绝不出错版) 依赖包及其对应的版本号 PyQt5 5.10.1 PyQt5-Qt5 5.15.2 PyQt5-sip 12.9.0 pyinstal ...
- Android 工程打包资源文件-OBB文件设置
Android 工程打包资源文件-OBB文件设置 设备/引擎:Mac(11.6)/cocos 开发工具:Android studio(4.1.2) 开发语言:java 开发需求:对工程的资源文件进行打 ...
- Android 打包流程之aapt打包资源文件
上一篇:Android打包流程之资源管理 Android应用最终是以apk的形式放在手机上安装并运行的,而负责将资源文件和代码进行打包的工具就叫appt,全称Android Asset Packagi ...
- 《PyInstaller打包实战指南》第八节 打包资源文件
第八节 打包资源文件 1.添加图片 2.添加可执行文件 3.添加压缩文件 4.添加其他文件(txt, excel, json, html...) 5.添加二进制文件 在第三节的第一小节中,笔者打包了以 ...
- Pyinstaller 生成 exe 及打包资源文件
其他 Pyinstaller 打包技巧见<Python程序打包指南> Pyinstaller 不仅可以打包 .py 文件为 exe ,还可以将依赖的其他资源文件(如图片.音频等媒体文件)也 ...
- 《Nuitka打包实战指南》第六节 打包资源文件
第六节 打包资源文件 目录 6.1 资源打包命令详解 6.2 资源打包实战练习 如果程序代码用到了一些资源文件 (如图片.音视频.json文件),我们就需要将这些资源文件一同打包,否则程序运行会报找不 ...
- pyqt5从子目录加载qrc文件_实战PyQt5: 045-添加资源文件
添加资源文件 在使用PyQt进行图形界面开发的时候不免要用到一些外部资源,比如图片,qss配置文件等.在前面代码中,遇到这类问题,我们使用绝对路径的方式来解决,这种方式,本身有其不方便之处(比如,调整 ...
- Python:pyinstaller如何将一个项目的.py和相关资源文件打包生成.exe文件
前言 写这篇博文真属于意外,因为小编不是以学术为目的的,而仅仅是以讨女朋友喜欢为目的,所以文中略有狗粮.撇开这些,相信大家找到为了找到一个可行方案已经寻寻觅觅良久,本文或许便是你的"真命天子 ...
- 使用pipenv建立虚拟环境解决python打包exe文件过大的问题(附打包带图标,多个py文件打包exe)
我们编写的程序可以发给其他小伙伴使用,但是其他小伙伴不一定安装有python.这时候就需要用到打包啦.打包可以将程序打包成exe文件.然后小伙伴在windows平台里就可以运行(无需python).直 ...
- PyQt5实战之二维码生成器(四):界面的国际化与管理打包资源
前言 经过上一章,我们实现了二维码的生成及样式修改,并将其显示在界面中.本章将实现界面的国际化,并说明如何管理打包资源. 一.界面的国际化 在之前的代码中可以发现,有些文本用 self.tr() 括了 ...
最新文章
- XPS reader for Silverlight
- 在linux下修改oracle字符集
- MariaDB/MySql 服务消失无法启动
- python线程与进程
- Hyper-V的管理与使用之一:添加功能
- 解答网友提问:如何构建动态表达式实现高级查询服务
- 2018华工计算机应用基础作业,计算机应用基础平时作业2019
- 教程:在 VM Depot 中查找 Azure 可用的虚拟机镜像
- 《HTML5与CSS3实战指南》——2.3 HTML5常见问题
- Windows下安装NetCat
- 小D课堂 - 零基础入门SpringBoot2.X到实战_第8节 数据库操作之整合Mybaties和事务讲解_36、SpringBoot整合mybatis之事务处理实战...
- JavaScript经纬度和地图坐标相互转换
- Azure部署的应用程序访问页面页面时加载字体文件(.woff.woff2)出现 404 错误问题
- 【presto】函数大全
- ubuntu 禁用触摸板
- Jupyter 安装与应用
- (十二)苏世民:我的经验和教训:苏世民带领黑石走向巅峰的十大管理原则
- ISE关联仿真库遇到secureip出错怎么办?(附答案)
- jdk groovy版本_Groovy JDK(GDK):日期和日历
- python -- 最长公共子串