本节对应的视频讲解:B_站_视_频
https://www.bilibili.com/video/BV1NW4y1K7eL
1. 为什么需要自定义控件
绘图最大的一个应用场景就是自定义控件,Qt 本身提供的一些控件是有限的,并且它提供的一些控件很可能不满足我们的需要
这种情况下, 就需要自定义控件了。
其实在实际项目中,会大量使用自定义控件, 这样会使界面美观的多!
下面介绍下自定义实现的一个控件 - 仪表盘
其实,大家可以在百度图库中,搜索 “仪表盘”,可以看到很多仪表盘的样式
不过这些样式,都大差不差,比如下面两个:
它可以直观地显示检测目标的值,比简单地使用文本框显示,要高大上的多
2. 自定义控件-仪表盘
我自定义实现的一个控件-仪表盘,效果如下
效果一:
效果二:
其中的圆环、刻度、指针都有许多属性可以设置,以下是几种典型的外观:
该控件包括的技术点:
2.1 创建自定义控件的类
首先,通常需要自定义一个类,继承自 QWidget
;
然后,在布局中拖拽一个 QWidget
控件,并做提升
2.2 圆环
- 绘制
- 设置宽度
- 设置颜色
- 设置末端样式
2.3 刻度
-
绘制
-
设置颜色
-
设置刻度的位置
圆环内侧
圆环外侧
圆环外侧(空隙)
2.4 指针
-
颜色
-
样式
圆形
尖形
-
动画
2.5 基础设置
-
范围
设置最大值和最小值
-
标题和单位
标题:比如,温度、湿度、电压、电流
单位:比如,
°C
、%
、V
、A
-
颜色
用于设置标题和单位的颜色
-
背景
可以为整个控件添加一个背景色
-
禁能
设置控件不可用时,各个部分的颜色
说明:为什么会有禁能这种状态?
通常一个仪表盘对应一个设备,当在这个设备不在线时,就可以将控件设置为禁能,并设置各个部分的颜色为灰色
3. 后续计划
后面会出一个专题:《Qt开发专题 - 自定义控件》
把工作中常用到的一些自定义控件,拿出来讲解,这个仪表盘就是该专题的第一个控件