Qt资源系统用法笔记 qrc

目录

创建和使用.qrc文件的步骤:

步骤1: 创建.qrc文件

步骤2: 编辑.qrc文件

步骤3: 在代码中使用资源

步骤4: 编译和运行

优点和注意事项

c++调用:


Qt资源系统(Qt Resource System)提供了一种将应用程序所需的文件(如图像、翻译文件、音频文件等)打包到应用程序可执行文件中的机制。这是通过使用资源配置文件(.qrc文件)来完成的,该文件列出了应用程序应该包含的资源。

创建和使用.qrc文件的步骤:

步骤1: 创建.qrc文件

在Qt Creator中,你可以轻松创建一个.qrc资源文件:

  1. 右键点击项目名,在弹出菜单中选择“添加新文件...”或者“添加现有文件...”。
  2. 选择“Qt”下的“Qt 资源文件”,点击“选择...”。
  3. 为资源文件命名,通常命名为 resources.qrc,然后点击“下一步”和“完成”。
步骤2: 编辑.qrc文件

打开你的.qrc文件,你会看到一个XML格式的内容。可以通过Qt Creator的资源编辑器来管理资源:

  1. 在.qrc文件中,使用 <qresource> 标签定义一个资源前缀。
  2. 使用 <file> 标签添加资源文件路径。这些路径是相对于.qrc文件的位置。

例如,如果你有一些图像和音频文件需要包含:

<RCC><qresource prefix="/images"><file>logo.png</file><file>background.jpg</file></qresource><qresource prefix="/sounds"><file>click.wav</file></qresource>
</RCC>

步骤3: 在代码中使用资源

资源被编译进你的应用程序后,可以通过一个特殊的URL来访问,该URL的格式为 :/prefix/path。例如,如果你要在代码中访问上面的图像和声音,可以这样做:

QPixmap logo(":/images/logo.png");
QSound clickSound(":/sounds/click.wav");
步骤4: 编译和运行

当你编译和运行你的Qt应用程序时,所有在.qrc文件中指定的资源都会被编译到最终的可执行文件中。这样做的好处是简化了部署过程,因为你不需要担心文件路径和缺失的外部文件。

优点和注意事项

  • 优点:使用资源文件可以确保应用程序的独立性和移植性,无需担心运行时文件路径问题或者文件缺失问题。
  • 注意事项:虽然把文件嵌入到可执行文件中可以提高便利性,但这也可能显著增加可执行文件的大小。对于非常大的资源文件,可能需要考虑使用外部文件或其他加载机制。

通过这种方式,Qt的资源系统提供了一个非常强大和灵活的方式来管理和部署应用程序所需的各种文件,帮助开发者简化应用程序的开发和部署过程。

c++调用:

void terminal::paintEvent(QPaintEvent *paint)
{QPainter painter(this);painter.drawPixmap(0,0,width(),height(),QPixmap(":/res/drawable/main_background.png"));
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/15104.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux 内核之 mmap 内存映射的原理及源码解析

文章目录 前言一、简介1. mmap 是什么&#xff1f;2. Linux 进程虚拟内存空间 二、mmap 内存映射1. mmap 内存映射的实现过程2. mmap 内存映射流程2.1 mmap 系统调用函数2.2 ksys_mmap_pgoff 函数2.3 vm_mmap_pgoff 函数2.4 do_mmap_pgoff 函数2.5 do_mmap 函数2.6 get_unmappe…

私域流量的真谛:构建并运营属于你自己的私域生态

大家好&#xff0c;我是来自一家专注于私域电商行业的软件开发公司的产品经理&#xff0c;拥有超过七年的行业经验。今天&#xff0c;我想和大家聊聊私域流量的真正含义&#xff0c;以及为何我们应该关注并努力打造属于自己的私域生态。 什么是私域流量&#xff1f; 私域流量&…

HCIA第二天复习上

延长传输距离-------中继器&#xff08;放大器&#xff09;------物理层设备 可以延长5倍传输距离 增加网络节点数量 网络拓扑结构 1直线型拓扑 信息安全性差 网络延迟高传输速度慢 2环形拓扑 3星型拓扑 4网状型拓扑 传输效率高&#xff0c;…

【字典树 马拉车算法】336. 回文对

本文涉及知识点 字典树 马拉车算法 336. 回文对 给定一个由唯一字符串构成的 0 索引 数组 words 。 回文对 是一对整数 (i, j) &#xff0c;满足以下条件&#xff1a; 0 < i, j < words.length&#xff0c;i ! j &#xff0c;并且words[i] words[j]&#xff08;两个字…

通过注意力调节实现更好的文本到图像生成对齐

近年来&#xff0c;生成性AI技术在众多领域取得了前所未有的进步。大规模预训练模型的出现激发了各种下游任务中的新应用。这在文本到图像生成领域尤为明显&#xff0c;例如Stable Diffusion、DALL-E 2和Imagen等模型已经显著展示了它们的能力。尽管如此&#xff0c;复杂提示中…

appium篇-windows桌面自动化(一)[环境配置]

1、windows版本&#xff1a;win10 2、winSdk版本 Windows SDK and emulator archive | Microsoft Developer 3、winAppDriver版本 1.2.99 Releases microsoft/WinAppDriver (github.com) ################ 4、python版本 Python 3.9.13 ############### 5、appium版本 Re…

hubilder Android模拟器华为手机连接不上

APP真机测试注意点&#xff1a; 1. 同一个局域网下 2. 手机连接USB模式&#xff08;华为选择USB配置&#xff1a;音频来源&#xff09; &#xff0c;开发者模式 3. 实在不行重启HBuilderX再运行真机 可是卡在了“正在安装手机端HBuilder调试基座...” 就没反应了&#xff1f;&…

【高时效通路】

一 高时效通路 1.1 pathchdumper 实时数据拉取、实时数据处理、5分钟微批dump来加速时效性&#xff0c;具体来说&#xff1a; 实时数据拉取&#xff08;Fetcher&#xff09;&#xff1a;基于Databus Fetcher基建&#xff0c;直接对接F0层实时拉取最新数据&#xff0c;保证该…

Springboot整合Minio对象存储超级详细讲解以及配置搭建

windows环境下搭建minio步骤 1.从minio官网进行查看详细信息 地址&#xff1a;https://min.io/里面有详细的配置信息搭建成功之后如下如所示&#xff1a;用户名密码默认情况下为 username&#xff1a;minioadmin password&#xff1a;minioadmin2.搭建成功之后的访问 地址&…

python - 分割 pytest 的 conftest.py 文件

解决 pytest 的 conftest.py 文件过大问题。 1. 项目目录结构 project_name ├── LICENSE ├── MANIFEST.in ├── Makefile ├── README.md ├── project_name │ ├── __init__.py │ ├── testing │ │ ├── __init__.py │ │ ├── fixtur…

vue项目实战 - 如果高效的实现防抖和节流

在Vue项目中&#xff0c;处理高频事件的优化至关重要&#xff0c;直接影响用户体验和应用性能。防抖&#xff08;Debounce&#xff09;和节流&#xff08;Throttle&#xff09;是两种常用且有效的方法&#xff0c;可以控制事件触发频率&#xff0c;减少不必要的资源消耗。如何在…

SEO优化,小白程序员如何做SEO优化流量从0到1

原文链接&#xff1a;SEO优化&#xff0c;小白程序员如何做SEO优化流量从0到1 1、SEO是什么&#xff1f; SEO即&#xff1a;搜索引擎优化(Search Engine Optimization)&#xff0c;是一种通过优化网站结构、内容和外部链接等因素&#xff0c;提高网站在搜索引擎中的自然排名&…

python爱心树表白代码

以下是一个使用Python的turtle模块来绘制一颗爱心并表白的简单示例代码&#xff1a; import turtle import math # 设置屏幕 screen turtle.Screen() screen.bgcolor("black") # 绘制爱心 def draw_heart(t, size): t.speed(9) t.penup() t.goto(0, -size…

Python Minio 工具类封装

最近因为需要对大规模的文件进行存储&#xff0c;选了多种对象存储方案&#xff0c;最终选择了MinIO&#xff0c;为了方便python的调用&#xff0c;在minio第三方包的基础上进行进一步封装调用&#xff0c;该工具除了基础的功能外&#xff0c;还封装了多线程分片下载文件和上传…

DeepDriving | CUDA编程-03:线程层级

本文来源公众号“DeepDriving”&#xff0c;仅用于学术分享&#xff0c;侵权删&#xff0c;干货满满。 原文链接&#xff1a;CUDA编程-03:线程层级 DeepDriving | CUDA编程-01&#xff1a; 搭建CUDA编程环境-CSDN博客 DeepDriving | CUDA编程-02&#xff1a; 初识CUDA编程-C…

Linux之共享内存mmap用法实例(六十三)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 优质专栏&#xff1a;多媒…

外卖霸王餐返利外卖会员卡小程序开发

外卖霸王餐返利外卖会员卡小程序开发 "社交电商赋能下的外卖返利小程序"是专为商家与用户双赢而设计的创新平台。 以下是其开发方案的详细步骤&#xff1a; 一、需求梳理&#xff1a;首先&#xff0c;我们需要明确小程序的核心功能和特色。包括设定活动类型、返利…

Python学习(3) 函数

定义 定义一个函数的格式&#xff1a; def 函数名(参数):执行代码如果没有参数&#xff0c;则称为无参函数。 定义时小括号中写的是形参&#xff08;形式参数&#xff09;&#xff0c;调用时写的是实参&#xff08;实际参数&#xff09;。 调用 调用格式&#xff1a; def…

【Docker】Linux 系统(CentOS 7)安装 Docker

文章目录 对 VMware 软件的建议官方说明文档Docker安装卸载旧版本docker设置仓库开始安装 docker 引擎最新版 Docker 安装指定版本 Docker 安装&#xff08;特殊需求使用&#xff09; 启动 Docker查看 Docker 版本查看 Docker 镜像设置 Docker 开机自启动 验证开机启动是否生效…

自定义原生小程序顶部及获取胶囊信息

需求&#xff1a;我需要将某个文字或者按钮放置在小程序顶部位置 思路&#xff1a;根据获取到的顶部信息来定义我需要放的这个元素样式 * 这里我是定义某个指定页面 json&#xff1a;给指定页面的json中添加自定义设置 "navigationStyle": "custom" JS&am…