①这俩 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 无能为力了~~