PYQT5|一键自动生成并应用QRC资源文件

QT designer 应用QRC资源文件,而不是外部加载图片,亲测可用。

一、生成QRC资源文件

1.复制以下代码,在图片目录下,新建一个python文件,然后运行即可;

import subprocess, os

def run_cmd(cmd):
    print('cmd={}'.format(cmd))
    subprocess.Popen(str(cmd), stdout=subprocess.PIPE, stdin=subprocess.PIPE,stderr=subprocess.PIPE, creationflags=0x08)


#1.批量重命名
png_path='.\\png_ico\\'
qss_path='.\\qss\\'
images = os.listdir(png_path)
images_new=[]
renameTotal=1
for item in images:
    addCount = 1
    item_new=str(item).replace(' ','_').replace('\n','_').replace('%','_').replace('¥','_').replace('副本','_')\
        .replace('&','_').replace('-','_').replace('.','_').replace('#','_').replace('@','_')\
        .replace('(','_').replace(')','_').replace('(','_').replace(')','_').replace('\t','_')\
        .replace('_png','.png').replace('_jfif','.jfif').replace('_zip','.zip').replace('_ico','.ico')\
        .replace('_rar','.rar').replace('___','_').replace('__','_')
    
    filename = os.path.splitext(item)[0]  # 文件名
    filetype = os.path.splitext(item)[1]  # 文件名
    while item_new in images_new:
        item_new=filename+"_"+str(addCount)+filetype
        addCount += 1
        
    images_new.append(item_new)
    print('重命名第 {} 张图片, {} => {}'.format(renameTotal,item, item_new))
    os.rename(png_path+item, png_path+item_new)  # 重命名
    renameTotal +=1

print(images_new)

'''
2.生成qrc文件,包含需要操作的图片资源的目录
'''
images = os.listdir(png_path)    #填入相对路径目录名
qss = os.listdir(qss_path)    #填入相对路径目录名
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="png_ico/' + item + '">png_ico/' + 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()

#3.生成qrc文件
#获取程序当前路径
program_current_path=os.path.abspath('.')
print('program_current_path={}'.format(program_current_path))

make_qrc='pyrcc5 -o .\images_rc.py .\images.qrc'
run_cmd(make_qrc)



二、加载QRC资源文件

1.在QT designer界面,点击任意一个可以设置图标的控件,选择icon属性=》选择资源;

 

 

 

 

 

猜你喜欢

转载自blog.csdn.net/zh6526157/article/details/120724863