标题:Qt编写自定义控件12-进度仪表盘
作者:liudianwu
日期:2019-04-29 23:14
内容:
前言
进度仪表盘主要应用场景是标识一个任务进度完成的状况等,可以自由的设置范围值和当前值,为了美观还提供了四种指示器(圆形指示器/指针指示器/圆角指针指示器/三角形指示器),各种颜色都可以设置,其中的动画效果采用的QPropertyAnimation类来实现,主要是线性插值法,生成一定规则的数值,用于设定的属性。今天有个朋友需要安卓版本的控件,其实采用qwidget写的控件都可以直接编译就可以到android上,于是直接重新编译了安卓版本,对应的apk已上传到共享文件夹,文末贴出android运行效果图。
实现的功能
* 1:支持指示器样式选择 圆形指示器/指针指示器/圆角指针指示器/三角形指示器
* 2:支持鼠标按下旋转改变值
* 3:支持负数范围值
* 4:支持设置当前值及范围值
* 5:支持设置起始旋转角度和结束旋转角度
* 6:支持设置背景色/进度颜色/中间圆渐变颜色
* 7:随窗体拉伸自动变化
* 8:支持鼠标进入和离开动画效果
* 9:可设置是否显示当前值
* 10:可设置是否显示指示器
效果图
头文件代码
#ifndef GAUGEPROGRESS_H
#define GAUGEPROGRESS_H
/**
* 进度条仪表盘控件 作者:feiyangqingyun(QQ:517216493) 2016-12-03
* 1:支持指示器样式选择 圆形指示器/指针指示器/圆角指针指示器/三角形指示器
* 2:支持鼠标按下旋转改变值
* 3:支持负数范围值
* 4:支持设置当前值及范围值
* 5:支持设置起始旋转角度和结束旋转角度
* 6:支持设置背景色/进度颜色/中间圆渐变颜色
* 7:随窗体拉伸自动变化
* 8:支持鼠标进入和离开动画效果
* 9:可设置是否显示当前值
* 10:可设置是否显示指示器
*/
#include
#include
class QPropertyAnimation;
#ifdef quc
#if (QT_VERSION < QT_VERSION_CHECK(5,7,0))
#include
#else
#include
#endif
class QDESIGNER_WIDGET_EXPORT GaugeProgress : public QWidget
#else
class GaugeProgress : public QWidget
#endif
{
Q_OBJECT
Q_ENUMS(PointerStyle)
Q_PROPERTY(double minValue READ getMinValue WRITE setMinValue)
Q_PROPERTY(double maxValue READ getMaxValue WRITE set ..
#1 [305750665 04-30 08:51]
我顶
#2 [miaotouyang 04-30 08:51]
非常精致,都是免费使用的?
#3 [colindemon 04-30 21:28]
整天炒剩饭,有意思?你这些控件,源代码又不公开,从2015年就看到你发送这些控件图,在这里打广告,现在都2019年了,还在搞这些玩意,既然开源,那就公开啊,不要打着开源的幌子,在这里打广告