1. 为什么需要自定义控件
绘图最大的一个应用场景就是自定义控件了,Qt 本身提供的一些控件是有限的,并且它提供的一些控件很可能不满足我们的需要
这种情况下, 就需要自定义控件了。
其实在实际项目中,会大量使用自定义控件, 这样会使界面美观的多!
下面介绍下自定义实现的一个控件 - 仪表盘
其实,大家可以在百度图库中,搜索 “仪表盘”,可以看到很多仪表盘的样式
不过这些样式,都大差不差,比如下面两个:
![]() |
![]() |
它可以直观地显示检测目标的值,比简单地使用文本框显示,要高大上的多
2. 自定义控件-仪表盘
自定义仪表盘-效果演示:https://qt1024.cn/qt_ui/
我自定义实现的一个控件-仪表盘,效果如下:
![]() |
![]() |
其中的圆环、刻度、指针都有许多属性可以设置,以下是几种典型的外观:
![]() |
![]() |
![]() |
该控件包括的技术点:
圆环
绘制、设置宽度、设置颜色、设置末端样式刻度
绘制、设置颜色、设置刻度的位置:圆环内侧、圆环外侧、圆环外侧(空隙)指针
绘制、颜色、样式(圆形、尖形)、动画基础设置
- 范围:设置最大值和最小值
- 标题和单位:标题:比如,温度、湿度、电压、电流。单位:比如,
°C、%、V、A - 颜色:用于设置标题和单位的颜色
- 背景:可以为整个控件添加一个背景色
- 禁能:设置控件不可用时,各个部分的颜色。
- 说明:为什么会有禁能这种状态?
- 通常一个仪表盘对应一个设备,当在这个设备不在线时,就可以将控件设置为禁能,并设置各个部分的颜色为灰色














