标题:Qt编写自定义控件59-直方动态图
作者:liudianwu
日期:2019-09-24 14:32
内容:
一、前言
直方动态图类似于音乐播放时候的柱状图展示,顶部提供一个横线条,当柱状上升的时候,该线条类似于帽子的形式冲到顶端,相当于柱状顶上去的感觉,给人一种动态的感觉,听音乐的同时更加赏心悦目,原理比较简单,就是用2个定时器,一个定时器间隔比较短,负责快速把柱状图从底部冲到设置的值,同时横线条跟随一起冲上去,一个定时器负责慢慢的跌落值到0,然后横线条缓慢下降,下降速度比柱状图的速度要慢一些,产生一种对比的效果,看起来更像是跌落的感觉。
二、实现的功能
* 1:可设置最大值/最小值/当前值
* 2:可设置顶部滑块高度
* 3:可设置每次变动的步长
* 4:可设置item之间的间隔
* 5:可设置渐变的背景颜色
* 6:可设置柱状条颜色
三、效果图

四、头文件代码
#ifndef WAVEBAR_H
#define WAVEBAR_H
/**
* 直方动态图控件 作者:feiyangqingyun(QQ:517216493) 2016-11-6
* 1:可设置最大值/最小值/当前值
* 2:可设置顶部滑块高度
* 3:可设置每次变动的步长
* 4:可设置item之间的间隔
* 5:可设置渐变的背景颜色
* 6:可设置柱状条颜色
*/
#include
#ifdef quc
#if (QT_VERSION < QT_VERSION_CHECK(5,7,0))
#include
#else
#include
#endif
class QDESIGNER_WIDGET_EXPORT WaveBar : public QWidget
#else
class WaveBar : public QWidget
#endif
{
Q_OBJECT
Q_PROPERTY(int minValue READ getMinValue WRITE setMinValue)
Q_PROPERTY(int maxValue READ getMaxValue WRITE setMaxValue)
Q_PROPERTY(int value READ getValue WRITE setValue)
Q_PROPERTY(double step READ getStep WRITE setStep)
Q_PROPERTY(int space READ getSpace WRITE setSpace)
Q_PROPERTY(int headHeight READ getHeadHeight WRITE setHeadHeight)
Q_PROPERTY(QColor bgColorStart READ getBgColorStart WRITE setBgColorS ..