当前位置: 首页 > news >正文

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

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

https://blog.csdn.net/wn0112/article/details/47973953/

建立 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>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

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

pyrcc4 -o images.py images.qrc
  • 1

在程序中使用:

import images

# 在程序中使用
icon = QIcon(':/icons/add.png')
  • 1
  • 2
  • 3
  • 4

下面这个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)

 

 

 

 

相关文章:

  • [Qt]设置窗口图标和EXE应用程序图标
  • 蓝噪声取样(Blue noise sampling) 相关知识
  • 关于cmd运行自动进行远程连接(自动填写用户及密码)
  • mstsc保存用户名和密码,实现自动登录远程桌面
  • mstsc命令详解
  • Loading.UpdatePreloading是什么东西,为什么会突然那么高?
  • unity中Loding.UpdatePreloading占用CPU过高如何解决?
  • [总结] 漫谈HDR和色彩管理(四)HDR标准和ACES
  • 视频名词浅析——HDR
  • 虚幻引擎学习之路:渲染模块之全局光照明
  • 我所理解的DirectX Ray Tracing
  • Unity 曲线插值(Hermite插值和Catmull_Rom插值)
  • 参数化曲线:Hermite Catmull-Rom Bezier
  • 贝塞尔曲线原理(简单阐述)
  • 插值与样条
  • Android组件 - 收藏集 - 掘金
  • Angular 2 DI - IoC DI - 1
  • conda常用的命令
  • create-react-app做的留言板
  • GDB 调试 Mysql 实战(三)优先队列排序算法中的行记录长度统计是怎么来的(上)...
  • IDEA常用插件整理
  • Java到底能干嘛?
  • Logstash 参考指南(目录)
  • php的插入排序,通过双层for循环
  • 程序员该如何有效的找工作?
  • 大数据与云计算学习:数据分析(二)
  • 模型微调
  • 使用SAX解析XML
  • 王永庆:技术创新改变教育未来
  • 为什么要用IPython/Jupyter?
  • gunicorn工作原理
  • python最赚钱的4个方向,你最心动的是哪个?
  • raise 与 raise ... from 的区别
  • # 再次尝试 连接失败_无线WiFi无法连接到网络怎么办【解决方法】
  • #Linux(make工具和makefile文件以及makefile语法)
  • #使用清华镜像源 安装/更新 指定版本tensorflow
  • (42)STM32——LCD显示屏实验笔记
  • (C语言)fgets与fputs函数详解
  • (Matalb时序预测)PSO-BP粒子群算法优化BP神经网络的多维时序回归预测
  • (第9篇)大数据的的超级应用——数据挖掘-推荐系统
  • (附源码)springboot太原学院贫困生申请管理系统 毕业设计 101517
  • (五)关系数据库标准语言SQL
  • (原創) 如何讓IE7按第二次Ctrl + Tab時,回到原來的索引標籤? (Web) (IE) (OS) (Windows)...
  • (转)Windows2003安全设置/维护
  • (转)拼包函数及网络封包的异常处理(含代码)
  • (转)为C# Windows服务添加安装程序
  • (最全解法)输入一个整数,输出该数二进制表示中1的个数。
  • ***检测工具之RKHunter AIDE
  • .NET Core 2.1路线图
  • .net web项目 调用webService
  • .NET/C# 使用 #if 和 Conditional 特性来按条件编译代码的不同原理和适用场景
  • .pyc文件是什么?
  • @31省区市高考时间表来了,祝考试成功
  • @软考考生,这份软考高分攻略你须知道
  • [ Algorithm ] N次方算法 N Square 动态规划解决