1. 程式人生 > >[PyQt] 使用.qrc 生成資原始檔供程式中使用

[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>\n<RCC version="1.0">\n<qresource>\n') for item in images: f.write(u'<file alias="icons/'+ item +'">icons/'+ item +'</file>\n') for item in qss: f.write(u'<file alias="qss/'+ item +'">qss/'
+ item +'</file>\n') f.write(u'</qresource>\n</RCC>') f.close() pipe = subprocess.Popen(r'pyrcc4 -o images.py images.qrc', stdout = subprocess.PIPE, stdin = subprocess.PIPE, stderr = subprocess.PIPE, creationflags=0x08)