[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)