PyQt中资源文件的使用(详细步骤介绍)

简介: PyQt中资源文件的使用(详细步骤介绍)

新建文件

在 Qt Creator,选中菜单 File->New File...,选择新建 Qt Resource File。


命名为res.qrc



在项目文件目录树中,会自动出现 Resources 文件组和 res.qrc 文件



添加资源记录:


在文件 res.qrc 上点击右键,选择 Open In Editor



新建前缀,前缀的意思就是资源的分组

点 Add Prefix


将前缀改名为/icons,改完可以看到如下界面


放入Qt下的资源,例如我在Qt下的images文件夹中存放了图标



添加完后保存:



为属性添加资源记录:


在对象的属性中找到/icon,就可以添加资源了



在Eric中显示窗口


窗体 UI 文件用到了资源文件后,只能在 Qt 目录下进行编译

在 qt 安装目录下寻找 rcc.exe 这个文件。我的在这里:


将相关目录加到 Path

由于后面需要在 dos 下运行 rcc 命令,需要将这个文件所在目录添加到 PATH 环境变量中。

打开 win10 桌面,右键点击“我的电脑”,选择属性

选择右侧的高级系统设置


点击环境变量:



点击用户变量下的PATH,然后编辑


添加一个 rcc 命令所在路径



编译窗体文件

在这里,用 pyuic6 来编译窗体文件,用 rcc 来编译资源文件。

注意在 PyQt5,提供了 pyrcc5 这个文件来编译资源文件。但是 PyQt6 取消了这个文件。只

能用 Qt 提供的 rcc 命令来编译。


可以看到,编译之后多了两个 py 文件

拷贝编译后的窗体文件和资源文件

将编译后的两个 py 文件拷贝到 QtApp 外面,Eric 的工作目录中


新建的窗体能不能正常运行?我们新建个文件来运行它。

在 Eric 工作目录下,新建 myWidget.py 文件

import sys
from PvQt6.QtWidgets import OApplication, QWidget
from Ui_Widget import Ui_Widget
class QmyWidget(QWidget):
definit(self,parent=None):
super().__init__(parent)
#调用父类构造函数,创建窗体
self.ui=Ui_Widget()
#创建UI对象
self.ui.setupUi(self)
#构造UI界面
if__name__== "__main__":
#用干当前南体测试
app=QApplication(sys.argv)
#创建GUI应用程序
form=QmyWidget)
#=创建窗体
form.show()
sys.exit(app.exec())


修改res_rc.py:


from PySide6 import QtCore


为 from PyQt6 import QtCore


修改Ui_Widget.py:


添加 import res_rc


运行该文件,就可以正常显示图标了


目录
相关文章
|
2月前
|
机器学习/深度学习 算法 Linux
Yolov5水果分类识别+pyqt交互式界面
Yolov5水果分类识别+pyqt交互式界面
191 1
|
2月前
|
开发框架 开发者 Python
探索Python GUI编程:从Tkinter到PyQt的全方位使用
在当今技术发展日新月异的时代,Python作为一种简洁高效的编程语言,拥有广泛的应用领域。其中,GUI(图形用户界面)编程是Python开发者经常涉足的领域之一。本文将介绍两个常用的Python GUI库——Tkinter和PyQt,并深入探讨其使用方法、特点以及适用场景,帮助读者全面了解Python GUI编程的魅力。
|
2月前
|
Python
PyQt绘制股票K线多图Y坐标对齐
PyQt绘制股票K线多图Y坐标对齐
101 0
|
8月前
|
Python
pyqt 重写关闭窗口事件代码
pyqt 重写关闭窗口事件代码
54 0
|
8月前
|
存储 Python
PySide2 Pyqt 解决pyinstaller打包图片资源的问题
PySide2 Pyqt 解决pyinstaller打包图片资源的问题
62 0
|
2月前
|
数据可视化 Linux C++
Python GUI编程:Tkinter与PyQt的选择
Python作为一门流行的编程语言,在GUI编程领域也有着非常强大的工具。其中,Tkinter和PyQt是两个备受推崇的GUI库。本文将介绍这两个库的优缺点,并帮助读者决定应该选择哪一个。
|
2月前
|
前端开发 Python
【Python • 项目实战】pytesseract+pyqt实现图片识别软件小项目——(二)实现QQ截图功能
【Python • 项目实战】pytesseract+pyqt实现图片识别软件小项目——(二)实现QQ截图功能
132 0
|
9月前
|
网络协议 Linux iOS开发
【100天精通python】Day40:GUI界面编程_PyQt 从入门到实战(完)_网络编程与打包发布
【100天精通python】Day40:GUI界面编程_PyQt 从入门到实战(完)_网络编程与打包发布
107 0
|
2月前
|
Python
PyQt---------信号与槽函数的关系
PyQt---------信号与槽函数的关系
19 1
|
2月前
|
图形学 Python
pyqt的学习(三)----鼠标点击和按键处理
pyqt的学习(三)----鼠标点击和按键处理
35 1