目录

Qt-控件概述-QWdiget-1.1

Qt 控件概述 QWdiget 1.1


qrc机制

之前提到使用相对路径的方法来存放资源,还有一种更好的方式qrc机制

qrc的机制就是将图片二进制转化成C++代码(最终就会看到一大窜的char * 里面就是图片的二进制数据),最终该文件被编译进可执行文件中。 ​​

qrc缺点:无法导入太大的文件资源,例如几个GB的视频文件

qrc使用

1.在项目中创建一个 qrc 文件

tips:文件名不能带中文 与 符号

https://i-blog.csdnimg.cn/direct/27c95ae15b9b499f9a5e49d44ac375d5.png

2.将图片导入到qrc文件中

  1. 先创建一个前缀 (Prefix) (前缀可以理解为一个目录,他是Qt抽象出来的,不在电脑文件中真实存在)

    https://i-blog.csdnimg.cn/direct/1e564ed753bd43fdbb21b4f3651954d8.png

  2. 通过Add Files 添加图片

tips:导入图片时必须确定文件在qrc文件同级目录 或者 同级目录的子目录中

导入成功

https://i-blog.csdnimg.cn/direct/077b8fcd5fbd414ea6ed0f4fcc08f4ca.png

引用文件  :+前缀名+文件名

https://i-blog.csdnimg.cn/direct/a2fcc93f2aaa44cdb923db4ccbffc41c.png

该资源的二进制文件

https://i-blog.csdnimg.cn/direct/13d84ee7a9e342199957d8f1c186413b.png

当Qt项目进行编译时,这个cpp文件也被编译到了可执行程序中,也就是说用户只需要获取可执行文件就可以获取该资源。

windowOpacity:

调整窗口半透明度

https://i-blog.csdnimg.cn/direct/2308f55c0268495d817a8c3adbce2d7d.png ​​

https://i-blog.csdnimg.cn/direct/bccf46f508a34f95bd340ab60bf19d8d.png ​​​

效果

https://i-blog.csdnimg.cn/direct/569e3b8bb00047a2a6313d87aa10cbc8.png

打印日志中,并不是按我们的0.1做数值变化的,数值变化不精确

https://i-blog.csdnimg.cn/direct/7d06ba7aa3104dc39226a05075e51b40.png

小数存储在内存中 有三个部分 1.整数部分 2.小数部分 3.指数部分

在小数部分表示二进制中 111 第一位是0.5 第二位是0.25 第三位是0.0125

由于dlouble 与 float的长度是有限的 是很难去表示出一个0.1的 ,所以就表示出一个近似0.1的小数

另外在判断小数大小时 也不能直接 0.1 + 0.2 ==0.3 因为不是精确的 需要做差 并判断差的绝对值 是不是 小于预期值 0.3-(0.2+0.1)

cursor 光标

https://i-blog.csdnimg.cn/direct/5ddaa794a67c4311a9cbfed003faae30.png

设置cursor

https://i-blog.csdnimg.cn/direct/f681287995e940858a5b8c8aad3668aa.png

https://i-blog.csdnimg.cn/direct/2dfefc472d4c48098c01675a6086f311.png

cursor类型

https://i-blog.csdnimg.cn/direct/08d67338120f43cdbbf5351a393f49c5.png

自定义Cursor

https://i-blog.csdnimg.cn/direct/4033398038bb44e2a95bf07d84b9711c.png

图片太大了 可以借用png=png.scaled(100,100)进行缩放

推荐一个光标网站

font

https://i-blog.csdnimg.cn/direct/456e005c492149318fe1620633713842.png

QFont对象

https://i-blog.csdnimg.cn/direct/ad19274fc3374baa9a0e302fc5cbe814.png

https://i-blog.csdnimg.cn/direct/66a9e46a7a0e4bcd9679502d817c2eff.png

代码操作

https://i-blog.csdnimg.cn/direct/0a2d5e9f9e3a4384be4d4bd51d0dacc5.png

tooltip

:工具标签

https://i-blog.csdnimg.cn/direct/aeba01b8190c4625a03f9fb6d54ee366.png

https://i-blog.csdnimg.cn/direct/513b184155bf422682b2bad6df71a051.png ​​

https://i-blog.csdnimg.cn/direct/3611324ff3174e70a14d14e16b4e4673.png ​​

focusPolicy

聚焦

指的就是选中这个元素,接下来的所有操作都针对于这个元素,最典型的就是选中输入库输入文字

https://i-blog.csdnimg.cn/direct/c1fe0e94d6d44a2db0c174859a196d13.png

一般来说,控件获取焦点的方式

1.鼠标

2.Tab键

https://i-blog.csdnimg.cn/direct/901d52b886a84c7f87361a146338624f.png

https://i-blog.csdnimg.cn/direct/ff4ea3634c1e4c35abf435560a3e84a9.png

styleSheet

通过QSS(底层样式表)设置Widget样式

和 CSS 类似. QSS 设置的样式也是 键值对 的格式,键和值之间使用:

分隔键值对和键值对之间  使用 ;分隔,​

https://i-blog.csdnimg.cn/direct/2a94296cf7124bf1b14d05ddd86ec1ca.png

代码设置一个夜间模式

https://i-blog.csdnimg.cn/direct/5c4e81e108b74063952085f0dcee4fbf.png

关于取色,可以用qq的截图模式获取

https://i-blog.csdnimg.cn/direct/89232d94a4224d438cd1d8480ad9d8fa.png

https://i-blog.csdnimg.cn/direct/2124fd76b4c34b2d93d6f6b1e5fa4c66.png