1. 为什么需要自定义控件

绘图最大的一个应用场景就是自定义控件了,Qt 本身提供的一些控件是有限的,并且它提供的一些控件很可能不满足我们的需要
这种情况下, 就需要自定义控件了。
其实在实际项目中,会大量使用自定义控件, 这样会使界面美观的多!

下面介绍下自定义实现的一个控件 - 仪表盘
其实,大家可以在百度图库中,搜索 “仪表盘”,可以看到很多仪表盘的样式
不过这些样式,都大差不差,比如下面两个:

效果1 效果2

它可以直观地显示检测目标的值,比简单地使用文本框显示,要高大上的多

2. 自定义控件-仪表盘

自定义仪表盘-效果演示:https://qt1024.cn/qt_ui/
我自定义实现的一个控件-仪表盘,效果如下:

效果1 效果2

其中的圆环、刻度、指针都有许多属性可以设置,以下是几种典型的外观:

效果1 效果2 效果3

该控件包括的技术点:

  • 圆环
    绘制、设置宽度、设置颜色、设置末端样式

  • 刻度
    绘制、设置颜色、设置刻度的位置:圆环内侧、圆环外侧、圆环外侧(空隙)

  • 指针
    绘制、颜色、样式(圆形、尖形)、动画

  • 基础设置

    • 范围:设置最大值和最小值
    • 标题和单位:标题:比如,温度、湿度、电压、电流。单位:比如,°C%VA
    • 颜色:用于设置标题和单位的颜色
    • 背景:可以为整个控件添加一个背景色
    • 禁能:设置控件不可用时,各个部分的颜色。
      • 说明:为什么会有禁能这种状态?
      • 通常一个仪表盘对应一个设备,当在这个设备不在线时,就可以将控件设置为禁能,并设置各个部分的颜色为灰色