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

42常用控件_QWidget的windowIcon属性

①这俩 api 类似于 windowTitle 只能针对顶层窗口使用(前一个很少用,主要用后一个)

②Qt 把各种涉及到的相关概念,都封装成了 类
Qlcon 就表示一个图标


③需要先准备一个图片~~

先在D盘中放一个图片,名字为 rose.jpg

 

④之前推荐使用堆来创建对象,主要是因为要确保当前的控
件的生命周期是足够的.要通过 Qt 对象树来释放对象
Qt 中封装的这些类 都会有同名的头文件
Qlcon 自身是一个比较小的对象.
创建出来之后,就是要设置到某个 QWidget 里面

Qlcon 对象本身释放不释放,不影响图标最终的显示.
Qlcon 也不支持对象树.无法给他执行父对象

Dlcon icon("d:/rosejpg");

路径不要带中文.
使用了 /作为路径之间的分隔. 是否可以使用\?

QIcon icon("d:\rose.jpg");
此时,这俩字符就被视为是一个字符了(回车符)--\表示转义,\r换行


C++ 11 中引入了 raw string 解决上述问题
字符串里不包含任何转义字符.(所有的字符都不会转义)
r("d:\rose.jpg")

⑦QIcon icon("d:/rose.jpg");
通过绝对路径的方式引入图片是不科学的.
比如,咱们这个电脑是把 图片放到 D: 上
有可能人家用户电脑上只有一个 C 盘,没有 D
你写的程序,最终是要发布到用户的电脑上的.

你无法确保,你开发机上图片的路径和用户电脑上图片的路径完全一致!!
因此相比于使用绝对路径的方式使用相对路径是更好的~~
相对路径,是以给定目录为基准,以,或者.的方式开头
假设基准目录是 D:/
给定相对路径 ./rose.jpg => 在基准目录(D:/) 直接找 rose.jpg
给定的相对路径是 ./image/rose,jpg => 在基准目录中,先找到 image 目录, 再在里面找到 rose.jpg

⑧qrc 机制.
这个机制就是从根本上解决上述的两个问题:
1.确保你的图片所在的路径在目标用户机器上存在
2.确保你的图片不会被用户搞没了~~

Android 中也有类似的机制~~
给 Qt 项目引入一个额外的 xml 文件(后缀名使用 .qrc 表示)
在这个 xml 中把要使用的图片资源给导入进来,并在 xml 中进行记录
Qt 在编译项目的时候 就会根据 qrc 中描述的图片信息,找到图片内容 并且提取出
图片的二进制数据,把这些二进制数据转成 C++ 代码最终编译到 exe 里

qrc 缺点: 无法导入太大的资源文件.
比如搞几个 GB 这种视频文件,qrc 无能为力了~~

相关文章:

  • MCP-Playwright: 赋予AI模型操控浏览器的能力
  • 使用 Canal 实现 MySQL 与 ES 数据同步的技术实践
  • 有关eeprom以及pwm
  • 第十章:生产环境中的 RAG:部署、监控与责任
  • Spring MVC 中@RequestMapping 注解是如何工作的?
  • Vue3在ZKmall开源商城前端的应用实践与技术创新
  • java学习笔记13——IO流
  • C++ 基础进阶
  • Redis 缓存问题:缓存雪崩、缓存击穿、缓存穿透
  • Ansys Zemax | 如何使用物理光学传播(POP)工具描述空间电场传播(三)
  • 计网 2025/4/8
  • 文献管理利器:Zotero + EasyScholar + Ethereal Style
  • IP协议之IP,ICMP协议
  • 【CryoET】IsoNet使用流程
  • c编译和c++编译有什么区别?
  • PolarDB 读已提交事务隔离级别 select ... for update, where条件未用索引,查不到数据的时候不会锁表
  • 游戏引擎学习第209天
  • 第十届 蓝桥杯 嵌入式 省赛
  • 前端知识(vue3)
  • Python 字典和集合(常见的映射方法)
  • 电商网站设计欣赏/爱站网关键词查询网站的工具
  • 如何给国外网站做seo/关键词如何排名在首页
  • 做框架模板的网站/上海优化公司有哪些
  • 网站建设费用用/网络优化seo薪酬
  • 广州网站建设系统/seo入门教学
  • 珠海营销营网站建设公司/网上怎么推广产品