首页| 论坛| 消息

标题:Qt编写自定义控件50-迷你仪表盘
作者:liudianwu
日期:2019-08-13 09:20
内容:

一、前言
这个控件取名叫迷你仪表盘,是以为该控件可以缩小到很小很小的区域显示,非常适合小面积区域展示仪表数据使用,还可以手动触摸调节进度,是我个人觉得最漂亮小巧的一个控件。初次看到类似的控件是在一个音乐视频编辑软件中,用来展示左通道右通道音量等,有非常多的类似的迷你仪表盘在整个软件系统中,用户可以直接鼠标滑动调节,以最小的占用区域展示最大的信息,漂亮!
本控件还拓展了可以左右等分显示,比如中间的值是0,左侧就是低于0的值区域,右侧就是大于0的值区域,进度不一样展示,支持左右旋转角度设置以及各种颜色的设置。

二、实现的功能
* 1:支持指示器样式选择 线条指示器/指针指示器/圆角指针指示器/三角形指示器
* 2:支持鼠标按下旋转改变值
* 3:支持负数刻度值
* 4:支持设置当前值及范围值
* 5:支持左右旋转角度设置
* 6:支持设置刻度数量
* 7:支持设置边框颜色/背景颜色/文本颜色/进度颜色
* 8:支持设置是否等分显示左右值

三、效果图
.

四、头文件代码
#ifndef GAUGEMINI_H
#define GAUGEMINI_H
/**
* 迷你仪表盘控件 作者:feiyangqingyun(QQ:517216493) 2017-11-26
* 1:支持指示器样式选择 线条指示器/指针指示器/圆角指针指示器/三角形指示器
* 2:支持鼠标按下旋转改变值
* 3:支持负数刻度值
* 4:支持设置当前值及范围值
* 5:支持左右旋转角度设置
* 6:支持设置刻度数量
* 7:支持设置边框颜色/背景颜色/文本颜色/进度颜色
* 8:支持设置是否等分显示左右值
*/
#include
#ifdef quc
#if (QT_VERSION < QT_VERSION_CHECK(5,7,0))
#include
#else
#include
#endif
class QDESIGNER_WIDGET_EXPORT GaugeMini : public QWidget
#else
class GaugeMini : public QWidget
#endif
{
Q_OBJECT
Q_ENUMS(PointerStyle)
Q_PROPERTY(double minValue READ getMinValue WRITE setMinValue)
Q_PROPERTY(double maxValue READ getMaxValue WRITE setMaxValue)
&nbs ..

回复 发表
主题 版块