Qt资源系统
创始人
2025-05-28 15:45:07

1.Qt资源系统

Qt资源管理系统是一种不依赖平台的独特机制,用于在应用程序的可执行文件中存储二进制文件。出于不同的目的(防止图标文件丢失或恶意更改),开发者不希望本程序的资源文件被更改。因此,把资源文件存储在可执行文件中,这就是静态加载资源方式。静态方式的缺点就是编译出的可执行文件容量会增加。为避免这一问题,将资源文件以二进制形式单独存储在一个文件中,这就是动态加载资源方式

​ Qt 资源系统是基于qmake、 rcc(Qt’s resource compiler), and QFile而实现的。

2. 资源收集文件.qrc

​ 那编译器又是如何知道哪些资源文件需要加载到可执行文件中的呢?资源收集文件.qrc闪亮登场。

zhihutubiao.pngzhihutubiao.png

​ **.qrc文件是基于xml格式的系统资源配置文件。**该文件的file标签指出了项目所需要的资源文件,可以通过alias标签给文件分配资源名称,lang标签是语言标签,可以根据 QLocale::system().name() 返回的语言值选择加载的同名资源文件。指定的路径是相对于包含.qrc文件的目录的,请注意,列出的资源文件必须与.qrc文件位于同一目录或其子目录之一。

​ 项目中访问加载资源有两种方式

  • 文件路径形式:/img/subscript_img
  • URL形式:qrc:///img/subscript_img

3.创建资源收集文件.qrc

​ 创建资源收集文件最简单的方式就是使用Qt Creator创建。

​ 首先需要创建一个Qt Resource File;

在这里插入图片描述

​ 然后,右键打开;

在这里插入图片描述

​ 最后,先添加标签,再添加文件。

在这里插入图片描述

​ 使用Qt Creator创建和添加资源文件虽然方便,但是在面对大批量的资源文件时却显得力不从心,这就需要手写了。我的建议是熟悉qrc的规则,然后使用代码批量化在某一目录下的获取资源文件,剩下的就是字符串操作了。

4.加载资源

​ 加载资源有两种,一种是直接将资源数据存储在可执行文件中(静态方式),另一种是将资源数据存储在单独的二进制文件中并由可执行文件调用(动态方式)。

4.1静态方式

​ 除了用 Qt Creator 在工程中添加 qrc 文件以外,需要在 pro 文件中加入 qrc 文件以便 qmake 能识别资源文件,一般这步会被自动添加。

pro文件

RESOURCES += \res.qrc

4.2动态方式

不会(待填坑)。

参考链接

1.Qt 资源系统(Qt Resource System)

2.Qt资源系统(The Qt Resource System)

3.Qt 学习之路 2(9):资源文件

相关内容

热门资讯

投资者提问:请问董秘,当前中日... 投资者提问:请问董秘,当前中日关系陷入僵局乃至谷底之际,公司有规划更多使用国产光刻胶等材料来替代日系...
富德生命人寿咸阳中心支公司被罚... 12月16日金融一线消息,据咸阳金融监管分局行政处罚信息公开表显示,富德生命人寿保险股份有限公司咸阳...
市场监管总局:抓紧推进出台《互... 转自:北京日报客户端记者16日从市场监管总局获悉,市场监管总局正抓紧推进《互联网平台反垄断合规指引》...
天奇股份:锂电循环业务夯实产业... 12月16日,江西天奇金泰阁集团(简称“天奇金泰阁”)资本赋能发展大会在江西龙南举行。会上,天奇股份...
「侠客岛」他们用上了“AI分身...   炒股就看金麒麟分析师研报,权威,专业,及时,全面,助您挖掘潜力主题机会! (来源:海外网)来源...