快捷搜索: 王者荣耀 脱发

[PyQt] 使用.qrc 生成资源文件供程序中使用

建立 images.qrc文件,里面保存了资源位置:

<!DOCTYPE RCC>
<RCC version="1.0">
<qresource>
<file alias="icons/add.png">icons/add.png</file>
<file alias="icons/appicon.png">icons/appicon.png</file>
<file alias="icons/button.png">icons/button.png</file>
<file alias="qss/qss.qss">qss/qss.qss</file>
</qresource>
</RCC>

通过命令,用此qrc文件生成 images.py 资源文件:

pyrcc4 -o images.py images.qrc

在程序中使用:

import images

# 在程序中使用
icon = QIcon(:/icons/add.png)

下面这个python脚本可以快捷地用目录中的图标、文件生成一个可用的.py资源文件

import subprocess, os

images = os.listdir(./icons)
qss = os.listdir(./qss)
f = open(images.qrc, w+)
f.write(u<!DOCTYPE RCC>
<RCC version="1.0">
<qresource>
)

for item in images:
    f.write(u<file alias="icons/+ item +">icons/+ item +</file>
)

for item in qss:
    f.write(u<file alias="qss/+ item +">qss/+ item +</file>
)

f.write(u</qresource>
</RCC>)
f.close()

pipe = subprocess.Popen(rpyrcc4 -o images.py images.qrc, stdout = subprocess.PIPE, stdin = subprocess.PIPE, stderr = subprocess.PIPE, creationflags=0x08)
经验分享 程序员 微信小程序 职场和发展