Qt-qrc机制简单介绍
我们使用setWindowIcon设置窗口图标的时候要指明这个图片所在的路径无论是绝对路径还是相对路径一般是相对路径因为用户的路径是不确定的但是如果将图片保存在某个文件夹中一旦被误删除程序就再也无法生成图标了而qrc机制就是为了解决这个问题。qrc的解决方法很粗暴将图片二进制保存在一个数组中在编译的时候将其编译到可执行文件中去做到“与目录无关”。使用qrc机制的具体过程如下首先创建一个后缀为.qrc的文件qrc 文件是⼀种XML格式的资源配置文件, 它用XML记录硬盘上的图片文件和随意指定的资源名称虚拟前缀图片文件名。应用程序通过资源名称来访问这些资源。然后进入下面这样的页面设置虚拟路径前缀设置图片文件默认qrc只能添加同级目录或者其子目录下的图片文件出现下面这样的标识表示设置成功然后我们编译文件发现在可执行程序文件的统计目录下多了这样的文件打开qrc_my.cpp文件查看其中的内容如下的确是二进制数组我们在程序中访问这个图片如下好接下来我们捋顺一下qrc机制的思路为了触发并支持Qt的qrc机制我们需要创建一个.qrc文件然后根据Qtcreactor的引导创建虚拟路径前缀其实就相当于虚拟路径与实际图片之间的“映射”。接下来我们在编译GUI程序时Qt首先检查.qrc文件读取图片文件然后将图片二进制存储在.cpp文件中的二进制数组中并通过某种手段把虚拟路径与这个数组联系起来这使得在程序中访问虚拟路径就相当于访问二进制数组也就相当于访问图片。之后才开始编译程序图片二进制的.cpp文件也被编译进可执行文件中去了。至此我们的可执行文件中有了图片。在GUI程序执行过程中一但发现路径是以“”开头就知道这是使用了qrc机制的虚拟路径接着读取虚拟路径通过它找到图片二进制数组显示图片。正是因为上面的机制编程者在编写图片访问路径时路径必须是“”“虚拟路径前缀”“图片文件名”。注不仅是图片音频文件等也可以利用qrc机制包括我们的qss样式表的代码与样式分离也可以利用qss机制这在Qss一节中有介绍

相关新闻

Qt——多媒体

Qt——多媒体

QSound 要使用QSound类,需要在.pro文件中添加 multimedia 模块。 下面是使用QSound的简单例子: MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow) {ui->setupUi(this); }//点击按钮就会触发这个槽 void Main…

2026/7/6 16:29:42 阅读更多 →
比特币调研

比特币调研

文章目录1.历史周期2.跌幅收敛趋势推演3.核心结论与行动建议4.接下来可以关注什么参考文献1.历史周期 比特币经历了几轮深度熊市,以下为历史四次主要周期的数据。 周期牛市高点(约)熊市低点(约)市值/价格最大回撤幅度…

2026/7/3 19:10:45 阅读更多 →
小程序计算机毕设之基于springboot+小程序的平安代驾平台小程序基于SpringBoot+MySQL+UniApp的全能代驾服务平台设计与实现(完整前后端代码+说明文档+LW,调试定制等)

小程序计算机毕设之基于springboot+小程序的平安代驾平台小程序基于SpringBoot+MySQL+UniApp的全能代驾服务平台设计与实现(完整前后端代码+说明文档+LW,调试定制等)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

2026/5/17 3:28:21 阅读更多 →

最新新闻

分析报告】量身定制:基于大数据的行业痛点与蓝海机遇挖掘

分析报告】量身定制:基于大数据的行业痛点与蓝海机遇挖掘

【分析报告】量身定制:基于大数据的行业痛点与蓝海机遇挖掘 深夜,你盯着电脑屏幕上密密麻麻的行业数据,从国家统计局到各大咨询公司的白皮书,资料下载了十几个G,PPT做了几十页,但老板那句“所以&#xff0…

2026/7/6 17:27:07 阅读更多 →
ReVanced Integrations 完全指南:掌握 YouTube 增强插件的核心组件库

ReVanced Integrations 完全指南:掌握 YouTube 增强插件的核心组件库

ReVanced Integrations 完全指南:掌握 YouTube 增强插件的核心组件库 【免费下载链接】revanced-integrations 🔩 ReVanced Integrations containing classes to be merged by ReVanced Patcher 项目地址: https://gitcode.com/gh_mirrors/re/revanced…

2026/7/6 17:27:07 阅读更多 →
Redis-Lua在Web开发中的应用:构建高性能Lua后端服务的实战案例

Redis-Lua在Web开发中的应用:构建高性能Lua后端服务的实战案例

Redis-Lua在Web开发中的应用:构建高性能Lua后端服务的实战案例 【免费下载链接】redis-lua A Lua client library for the redis key value storage system. 项目地址: https://gitcode.com/gh_mirrors/re/redis-lua Redis-Lua是一个纯Lua编写的Redis客户端库…

2026/7/6 17:24:58 阅读更多 →
如何快速集成SourceEditor到你的iOS应用:从安装到基础使用的完整指南

如何快速集成SourceEditor到你的iOS应用:从安装到基础使用的完整指南

如何快速集成SourceEditor到你的iOS应用:从安装到基础使用的完整指南 【免费下载链接】source-editor A native source editor for iOS and macOS, written in Swift 项目地址: https://gitcode.com/gh_mirrors/so/source-editor SourceEditor是一个专为iOS和…

2026/7/6 17:24:57 阅读更多 →
5个关键问题:为什么Python开发者需要Neomodel来高效操作Neo4j图数据库

5个关键问题:为什么Python开发者需要Neomodel来高效操作Neo4j图数据库

5个关键问题:为什么Python开发者需要Neomodel来高效操作Neo4j图数据库 【免费下载链接】neomodel An Object Graph Mapper (OGM) for the Neo4j graph database. 项目地址: https://gitcode.com/gh_mirrors/ne/neomodel Neomodel是Neo4j图数据库的官方推荐Py…

2026/7/6 17:22:56 阅读更多 →
终极指南:如何用Ice彻底掌控你的macOS菜单栏

终极指南:如何用Ice彻底掌控你的macOS菜单栏

终极指南:如何用Ice彻底掌控你的macOS菜单栏 【免费下载链接】Ice Powerful menu bar manager for macOS 项目地址: https://gitcode.com/GitHub_Trending/ice/Ice 你是否曾为macOS菜单栏上拥挤不堪的图标感到烦恼?菜单栏图标越来越多&#xff0c…

2026/7/6 17:20:55 阅读更多 →

日新闻

H2 与 MySQL 单元测试兼容性:5 个关键 SQL 语句差异与规避方案

H2 与 MySQL 单元测试兼容性:5 个关键 SQL 语句差异与规避方案

H2与MySQL单元测试兼容性:5个关键SQL语句差异与规避方案1. 单元测试中的数据库兼容性挑战在Java开发领域,单元测试是保证代码质量的重要环节。当应用涉及数据库操作时,测试环境的搭建往往成为开发者的痛点。H2数据库因其轻量级、内存模式和快…

2026/7/6 0:01:17 阅读更多 →
Windows任务栏终极清理指南:用RBTray一键隐藏窗口到系统托盘

Windows任务栏终极清理指南:用RBTray一键隐藏窗口到系统托盘

Windows任务栏终极清理指南:用RBTray一键隐藏窗口到系统托盘 【免费下载链接】rbtray A fork of RBTray from http://sourceforge.net/p/rbtray/code/. 项目地址: https://gitcode.com/gh_mirrors/rb/rbtray 你是否厌倦了Windows任务栏上密密麻麻的图标&…

2026/7/6 0:01:17 阅读更多 →
Visual C++ 运行时库一键安装终极指南:告别DLL缺失烦恼

Visual C++ 运行时库一键安装终极指南:告别DLL缺失烦恼

Visual C 运行时库一键安装终极指南:告别DLL缺失烦恼 【免费下载链接】vcredist AIO Repack for latest Microsoft Visual C Redistributable Runtimes 项目地址: https://gitcode.com/gh_mirrors/vc/vcredist 你是否曾经遇到过这样的情况:下载了…

2026/7/6 0:05:19 阅读更多 →

周新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/6 8:11:50 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/6 8:11:52 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/6 6:52:56 阅读更多 →

月新闻