环形进度条

如下:

步骤(重写paintEvent):

  1. 将painter移动到中心
  2. 确定半径为宽高中较小值的一半,防止缩放变形,优先填满较小的那一边
  3. 绘制底部圆
  4. 绘制中间的扇形,且画刷采用锥形渐变
  5. 最顶部的圆
  6. 绘制文字,且画在最中心

注:每一步都可以开放接口(这里就不加了)将参数暴漏出来,让外部使用者自己设置从而定制这个外观

头文件:

注:里面的set和get方法,还有Q_PPROPERTY都是qt自己加的,点击重构就可以添加

#ifndef ANNULARPROGRESSBAR_H
#define ANNULARPROGRESSBAR_H

#include <QObject>
#include <QWidget>
#include<QPainter>

//环形进度条
class AnnularProgressBar : public QWidget
{
    Q_OBJECT
    Q_PROPERTY(int value READ value WRITE setValue NOTIFY valueChanged FINAL)
    Q_PROPERTY(int min READ min WRITE setMin NOTIFY minChanged FINAL)
    Q_PROPERTY(int max READ max WRITE setMax NOTIFY maxChanged FINA
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值