QT资源文件的两种使用方式

QT资源文件的两种使用方式(CMake)

通过Qt资源文件管理图片资源,qss样式表等。有两种方式使用Qt资源文件。

第一种:将资源内容编译到可执行文件中,实现了图标等资源的封装,可达到防止恶意篡改的目的。

第二种:使用rcc工具将资源文件qrc编译成rcc文件,然后在代码中动态加载。

1:如何将资源文件qrc编译到可执行程序中

第一步:生成资源文件qrc
1:打开Qt designer,随便新建一个窗体(打开窗体后才能新建出资源文件)
在这里插入图片描述

2:打开资源浏览器,点击编辑资源图标
在这里插入图片描述

3:点击新建资源文件
在这里插入图片描述

4:增加前缀
在这里插入图片描述

5:添加文件
在这里插入图片描述在这里插入图片描述在这里插入图片描述

Qrc文件就创建好了
在这里插入图片描述
第二步:在CMakeLists文件中添加资源文件处理项目

将qrc文件编译到可执行文件中。

qt5_add_resources (RCC_SOURCES my_resource.qrc)
ADD_EXECUTABLE (test_resource ${project_SOURCES} ${project_HEADERS_MOC} ${RCC_SOURCES})

第三步:在使用资源文件之前将初始化资源文件

Q_INIT_RESOURCE(my_resource);//注意这里传入的参数为资源文件名去掉后缀,例如我们的资源文件名叫my_resource.qrc,那么初始化的时候就传my_resource

注意事项
1,如果想生成静态或者动态链接库文件,需要在生成的库的代码中调用一下Q_INIT_RESOURCE(my_resource);这时候会将资源内容打包到库文件中。
2:vs2015和部分QT版本不匹配,导致Q_INIT_RESOURCE无法完成初始化,已发现QT5.9.0的VS2015版本就出现了版本不匹配的问题。

2:使用rcc工具将资源文件qrc编译成rcc文件,然后动态加载使用

1:打开qt命令行工具
在这里插入图片描述

2:使用rcc工具将qrc文件编译成rcc文件

rcc 资源文件名.qrc --binary -o 资源文件名.rcc
在这里插入图片描述

3:在使用资源文件之前,先加载资源文件rcc

QString rcc_filename = “my_resource.rcc”;
QResource::registerResource(rcc_filename);
QIcon icon(":/icon/money_1.png");
this->setWindowIcon(icon);

参考链接:https://blog.csdn.net/xiezhongyuan07/article/details/79396680

其它问题:
Qresource版本不匹配导入资源失败的时候的替代方案
将图标等资源文件按照二进制格式编译到可执行文件中,最后从二进制文件中还原图标(rcc的手动实现)。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值