文章目录
- 一、加载资源文件
- 1、PyQt5加载资源文件
- 2、PyQt6加载资源文件
一、加载资源文件
常见的资源文件有图像、图标、样式表,下面分别介绍下加载资源文件的常用方法
1、PyQt5加载资源文件
-
创建.qrc文件: 可以使用QtCreator或手动创建一个.qrc文件,在工程目录下分别新建
images
与icons
两个新目录分别存放图片及图标相关的资源,并手动创建一个resource.qrc
文件<!DOCTYPE RCC> <RCC> <qresource prefix="/icon"> <file>icons/icon.jpg</file> </qresource> <qresource prefix="/image"> <file>images/image1.jpg</file> </qresource> </RCC>
-
.qrc文件生成Python模块: 使用
pyrcc5
工具将resource.qrc
编译成 Python 模块。在命令行中运行以下命令:pyrcc5 -o resources_rc.py resources.qrc
-
导入并使用编译后的模块: 在PyQt 应用程序中,导入生成的
resource_rc.py
模块,并使用QtCore.QResource
提供的路径来访问资源。示例代码如下:import sys from PyQt5.QtWidgets import QApplication, QMainWindow from customdialog import CustomDialog from PyQt5.QtGui import QIcon import resource_rc # 1、导入生成的resource_rc模块 app = QApplication(sys.argv) dlg = CustomDialog() icon = QIcon(":/icon/icons/icon.jpg") # 2、使用资源路径访问资源 mainWindow = QMainWindow() mainWindow.setWindowTitle("自动编译构建工具") mainWindow.resize(500, 400) mainWindow.move(300, 200) mainWindow.setCentralWidget(dlg) mainWindow.setWindowIcon(icon) mainWindow.show() app.exec()
2、PyQt6加载资源文件
PyQt6版本暂时没有提供
pyrcc
工具,下面介绍下在不使用pyrcc
工具时,如何使用资源文件。
-
添加资源: 在工程目录下分别新建
image
与icon
两个新目录分别存放图片及图标相关的资源,结构如下:
-
使用相对路径加载资源文件: 要在
demo.py
文件中使用icon
目录下面的icon1.jpg
,demo.py
文件与icon
目录在同一级目录下,因此、在demo.py
文件中加载icon1.jpg
资源文件的相对路径是./icon/icon1.jpg
,如下:import sys import mydlg from PyQt6.QtWidgets import QApplication, QWidget, QMainWindow from PyQt6.QtGui import QIcon app = QApplication(sys.argv) dlg = mydlg.MyDlg() icon = QIcon('./icon/icon1.jpg') # 确保路径正确 mainWindow = QMainWindow() mainWindow.setWindowTitle("Hello world!") mainWindow.resize(300, 200) mainWindow.move(100, 100) mainWindow.setCentralWidget(dlg) mainWindow.setWindowIcon(icon) mainWindow.show() app.exec()