首页| 论坛| 消息

标题:Qt编写自定义控件17-按钮进度条
作者:liudianwu
日期:2019-05-09 11:18
内容:

前言
按钮进度条,顾名思义,表面上长得像一个按钮,单击以后切换成进度条指示按钮单击动作执行的进度,主要用在一些需要直接在按钮执行动作显示对应进度的场景,在很多网页中经常看到这种效果,这个效果有个优点就是直接在原地显示进度条,不占用其他位置,然后提供各种颜色可以设置。近期大屏电子看板程序接近尾声了,文章末尾贴出几张动图效果。
实现的功能
* 1:可设置进度线条宽度+颜色
* 2:可设置边框宽度+颜色
* 3:可设置圆角角度+背景颜色
效果图


头文件代码
#ifndef PROGRESSBUTTON_H
#define PROGRESSBUTTON_H
/**
* 按钮进度条控件 作者:倪大侠(QQ:393320854 zyb920@hotmail.com) 2019-4-17
* 1:可设置进度线条宽度+颜色
* 2:可设置边框宽度+颜色
* 3:可设置圆角角度+背景颜色
*/
#include
class QTimer;
#ifdef quc
#if (QT_VERSION < QT_VERSION_CHECK(5,7,0))
#include
#else
#include
#endif
class QDESIGNER_WIDGET_EXPORT ProgressButton : public QWidget
#else
class ProgressButton : public QWidget
#endif
{
Q_OBJECT
Q_PROPERTY(int lineWidth READ getLineWidth WRITE setLineWidth)
Q_PROPERTY(QColor lineColor READ getLineColor WRITE setLineColor)
Q_PROPERTY(int borderWidth READ getBorderWidth WRITE setBorderWidth)
Q_PROPERTY(QColor borderColor READ getBorderColor WRITE setBorderColor)
Q_PROPERTY(int borderRadius READ getBorderRadius WRITE setBorderRadius)
Q_PROPERTY(QColor bgColor READ getBgColor WRITE setBgColor)
public:
explicit ProgressButton(QWidget *parent = 0);
protected:
void resizeEvent(QResizeEvent *);
void mousePressEvent(QMouseEvent *);
void paintEvent(QPaintEvent *);
void drawBg(QPainter *painter);
&n ..


#1 [qibbs 05-09 12:51]
这个效果必须赞!
#2 回 qibbs 的帖子 [liudianwu 05-09 13:22]
qibbs:这个效果必须赞!  (2019-05-09 12:51) 
大佬联系方式多少,向你学习!
#3 [qiu4466 05-09 14:22]
大力支持,不错
#4 回 liudianwu 的帖子 [qibbs 05-09 15:37]
liudianwu:大佬联系方式多少,向你学习! (2019-05-09 13:22) 
我向你学习!已加你签名下方的qq了
#5 [青春的年代 05-09 17:44]
看到了作者小倪大佬

<< 1 2 >> (1/2)

回复 发表
主题 版块