pyqt5从子目录加载qrc文件_PyQt5 资源文件

为了解决图标文件(以及帮助文件和其它一些较小的文件)与应用程序目录不匹配 或者 易丢失 的问题,在PyQt中,可以将多个图标文件打包成资源文件,再编译成一个.py 文件以供应用程序调用。步骤如下:

首先,要创建一个含有拟使用图标文件细节的 .qrc 文件:

假定文件的名字为 my_resource.qrc,文件的内容如下:

editcopy.pngeditcut.pngtextjustify.pngeditpaste.pngfilenew.pngsdf.htmlsdf2.html

通过对话框,可选择要加载的文件(可多选),可以给已选的文件加别名。最后点OK 即可生成相应的 .qrc 文件。

b8b77bec89e14e9aba59fa7b3efbaf9d

然后通过命令行,用 pyrcc5 -o命令就可以将 .qrc 文件编译为 .py 文件。

可参考以下批处理命令:

e:cd "E:Python36MyPythonFilesMyPyQt5主窗口程序 - 副本"pyrcc5 -o my_resource.py my_resource.qrc

最后,在程序头部导入该py文件即可:

import my_resource

之后就可以在程序中这样创建图标:

QIcon(":icon/editpaste.png")#创建资源文件时若设有分组前缀

如果设置了别名,则不可以使用文件名,必须使用别名(若有前缀还是要带上前缀):

QIcon(":icon/cut")

如果没有前缀也无别名,则下面两种写法都是可以的:

QIcon(":exportpdf.png")QIcon(":/exportpdf.png")

开头的 ":" , 是告诉PyQt,这是一个资源。

PyQt5是一个用于创建图形用户界面(GUI)的Python库,而rc文件PyQt5中用于存储源文件的一种格式。 qrc文件是种XML格式的文件,用于将源文件(如图像、字体、样式表等)打包到一个文件中,方便在PyQt5应用程序中使用。通过将源文件打包到qrc文件中,可以避免在代码中使用绝对路径或相对路径来引用这些源文件。 在qrc文件中,可以使用`<qresource>`标签来定义源的根节点,然后使用`<file>`标签来指定要包含的源文件。例如,以下是一个简单的qrc文件示例: ``` <!DOCTYPE RCC> <RCC version="1.0"> <qresource> <file>images/logo.png</file> <file>styles/style.css</file> <file>fonts/font.ttf</file> </qresource> </RCC> ``` 在PyQt5应用程序中使用qrc文件中的源,需要先将qrc文件转换为Python代码。可以使用PyQt5提供的pyrcc5工具来完成这个转换过程。转换后的Python代码可以通过导入并使用`QResource`类来访问和加载源文件。 以下是一个使用qrc文件中的源的示例代码: ```python from PyQt5.QtCore import QResource, QUrl from PyQt5.QtGui import QIcon from PyQt5.QtWidgets import QApplication, QLabel # 加载qrc文件中的源 QResource.registerResource("path/to/resource.qrc") app = QApplication([]) # 使用qrc文件中的源 label = QLabel() label.setPixmap(QIcon(":/images/logo.png").pixmap(100, 100)) label.setStyleSheet("QLabel { background-color: url(:/styles/style.css); }") label.setFont(QFont(":/fonts/font.ttf", 12)) label.setText("Hello PyQt5!") label.show() app.exec_() ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值