欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 社会 > 43常用控件_使用qrc文件管理资源

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

2025/4/18 3:47:09 来源:https://blog.csdn.net/m0_73673820/article/details/147070095  浏览:    关键词: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 程序运行的时候,上述图片的数据也就被加载到内存中了.

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词