标题:Qt编写自定义控件3-速度仪表盘
作者:liudianwu
日期:2019-04-21 10:06
内容:
前言
速度仪表盘,写作之初的本意是用来展示当前测试的网速用的,三色圆环+数码管显示当前速度,Qt自带了数码管控件QLCDNumber,直接集成即可,同时还带有动画功能,其实也可以用在汽车+工业领域等,展示汽车的当前速度和各种指标情况,比如生成领域的完成百分比等,控件采用纯painter绘制,自由拉伸不变形,背景透明的,贴上个背景图就会显得更漂亮。
实现的功能
* 1:可设置范围值,支持负数值
* 2:可设置精确度,最大支持小数点后3位
* 3:可设置大刻度数量/小刻度数量
* 4:可设置开始旋转角度/结束旋转角度
* 5:可设置是否启用动画效果以及动画效果每次移动的步长
* 6:可设置三色圆环占比例
* 7:自适应窗体拉伸,刻度尺和文字自动缩放
效果图
头文件代码
#ifndef GAUGESPEED_H
#define GAUGESPEED_H
/**
* 速度仪表盘控件 作者:feiyangqingyun(QQ:517216493) 2016-12-31
* 1:可设置范围值,支持负数值
* 2:可设置精确度,最大支持小数点后3位
* 3:可设置大刻度数量/小刻度数量
* 4:可设置开始旋转角度/结束旋转角度
* 5:可设置是否启用动画效果以及动画效果每次移动的步长
* 6:可设置三色圆环占比例
* 7:自适应窗体拉伸,刻度尺和文字自动缩放
*/
#include
class QLCDNumber;
#ifdef quc
#if (QT_VERSION < QT_VERSION_CHECK(5,7,0))
#include
#else
#include
#endif
class QDESIGNER_WIDGET_EXPORT GaugeSpeed : public QWidget
#else
class GaugeSpeed : public QWidget
#endif
{
Q_OBJECT
Q_PROPERTY(double minValue READ getMinValue WRITE setMinValue)
Q_PROPERTY(double maxValue READ getMaxValue WRITE setMaxValue)
Q_PROPERTY(double value READ getValue WRITE setValue)
Q_PROPERTY(int precision READ getPrecision WRITE setPrecision)
Q_PROPERTY(int scaleMajor READ getScaleMajor WRITE setScaleMajor)
Q_PROPERTY(int scaleMinor READ getScaleMinor WRITE setScaleMinor)
Q_PROPERTY(int startAng ..
#1 [crazy 04-21 10:48]
#2 [liuyunfeiyan 04-30 10:27]
新手入门,求教大神,这套控件怎么用?谢谢