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

43常用控件_使用qrc文件管理资源

qrc 文件是一种XML格式的资源配置文件,它用XML记录硬盘上的文件和对应的随意指定的资
源名称。应用程序通过资源名称来访问这些资源.
在Qt开发中,可以通过将资源文件添加到项目中来方便地访问和管理这些资源这些资源文件
可以位于qrc文件所在目录的同级或其子目录下.
在构建程序的过程中,Qt 会把资源文件的二进制数据转成 cpp 代码,编译到 exe 中从而使依
赖的资源变得"路径无关"
这种资源管理机制并非 Qt 独有,很多开发框架都有类似的机制.例如 Android 的 Resources
和AssetManager 也是类似的效果.
代码示例:通过qrc管理图片作为图标
1右键项目,创建一个 Qt Resource File(grc 文件),文件名随意起(不要带中文和特殊符号),此处叫做
resource.qrc .

 2.把图片导入到 qrc 文件中

 1)先创建一个“前缀(Prefix)
所谓的“前缀”可以理解成 虚拟的目录
这个目录没有在你的电脑上真实存在,是 Qt 自己抽象出来的
qrc 机制本质上就是把 图片 的二进制数据,转成 C++ 代码.(最终就会在代码中看到很大的 char 数组,里面就是图片的二进制数)
为了方便 Qt 代码中访问到这个图片,Qt 就自己抽象出了 虚拟的目录~~
把 prefix 的名字就改成/即可~~

 Add Files这个按钮在创建 prefix 之前是禁用的
创建好 prefix 之后就可以使用了
添加的文件就是添加到 prefix 下面的
点击 add Files 得到的目录就是当前代码所在的目录~~

 
导入图片的时候, 需要确保你导入的图片必须在 resource.qrc 文件的同级目录,或者同级目录中的子目录里~~
因此, 就可以把 rose.jpg 拷贝到当前项目目录中即可~~

看到这个效果,说明导入成功了!!!
创建的前缀叫啥名字,代码中就写啥名字
前缀 + 文件名

当代码中需要访问 qrc 中管理的文件时,就需要在路径上带有:前缀~~

qrc 中导入的图片资源, 就会被转成这个 qrc_resource.cpp 这个 c++ 代码(运行之后才会生成)

这里的字节内容就是 rose.jpg 里的每个字节的数据 

当 Qt 项目进行编译的时候, 这个 cpp 文件就被一起编译到了 exe 中
当 exe 程序运行的时候,上述图片的数据也就被加载到内存中了.

相关文章:

  • 多类型医疗自助终端智能化升级路径(代码版.上)
  • [docker] 简单操作场景
  • 【Java设计模式】第6章 抽象工厂模式讲解
  • Linux系统学习Day0——了解和熟悉Linux系统的远程终端登录和数据传输
  • 远程主机可能不符合glibc和libstdc++ VS Code服务器的先决条件
  • 批量转换图片颜色模型为 GMK/CMYK/灰度等
  • 08-Spring MVC 请求处理流程全解析
  • webrtc-stats
  • 3.神经网络
  • Linux系统(Ubuntu和树莓派)的远程操作练习
  • 第十四届蓝桥杯大赛软件赛省赛C/C++ 大学 B 组
  • 初始JavaEE篇 —— SpringBoot 统一功能处理
  • c++--------- stack queue
  • 大语言模型(LLM)全解析:从原理到实战应用
  • 具身推理器:协同视觉搜索、推理和行动,实现具身交互任务
  • openssl源码分析之加密模式(modes)
  • java 集合进阶
  • 顺序表:从数组到高效数据管理的进化之路
  • Android studio打包uniapp插件
  • 浅谈JS判断类型的几个方法
  • 习近平会见古共中央第一书记、古巴国家主席迪亚斯-卡内尔
  • 习近平会见缅甸领导人敏昂莱
  • 习近平同瑞典国王卡尔十六世·古斯塔夫就中瑞建交75周年互致贺电
  • 外卖员投资失败负疚离家流浪,经民警劝回后泣不成声给父母下跪
  • 上海发布预付卡消费“10点提示”:警惕“甩锅闭店”套路
  • 港理大研究揭示:塑胶废物潜藏微生物群落或引发生态危机