时间:2021-05-20
本文实例为大家分享了Qt实现圆圈加载进度条的具体代码,供大家参考,具体内容如下
先看效果图:
思路:画一个占270度的圆弧,然后定义一个定时器,定时旋转坐标系,实现旋转的效果。圆弧需要使用渐变色,实现颜色越来越浅的效果
关键代码:CMProcessBar1.cpp
CMProcessBar1::CMProcessBar1(QWidget *parent) : QWidget(parent), ui(new Ui::CMProcessBar1){ ui->setupUi(this); QTimer *timer = new QTimer; connect(timer,QTimer::timeout,this,updaterRotation);// 定时旋转坐标系 timer->start(3);//定时3毫秒}CMProcessBar1::~CMProcessBar1(){ delete ui;}void CMProcessBar1::updaterRotation(){ //循环360度旋转坐标系 rotation++; if(rotation == 360){ rotation = 0; } update();}void CMProcessBar1::paintEvent(QPaintEvent *event){//根据QPaintPath画出渐变色的圆弧 int width = this->width(); int height = this->height(); int side = qMin(width, height); QPainter painter(this); painter.setRenderHints(QPainter::Antialiasing | QPainter::TextAntialiasing); painter.translate(width / 2, height / 2); painter.scale(side / 200.0, side / 200.0); QConicalGradient gra(QPoint(0,0),0); gra.setColorAt(0,QColor("#3BB6FE")); gra.setColorAt(1,QColor("#FFFFFF")); QBrush brush(gra); int radis = 40; int sider = 5; QRect rect(-radis,-radis,radis*2,radis*2); QPainterPath path; path.arcTo(rect,0, 270); QPainterPath subPath; subPath.addEllipse(rect.adjusted(sider, sider, -sider, -sider)); path = path-subPath; painter.setBrush(brush);//QColor("#66CFFF") painter.setPen(Qt::NoPen); painter.rotate(rotation); painter.drawPath(path);}以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
Android实现环形进度条的效果图如下:自定义控件:AttendanceProgressBar代码如下:publicclassAttendanceProgre
微信小程序自定义圆形进度条,具体如下:无图无真相,先上图:实现思路,先绘制底层的灰色圆圈背景,再绘制上层的蓝色进度条。代码实现:JS代码:Page({data:
在设计界面时,有时会遇到进度条,本次讲解WPF如何设计自定义的绕圈进度条,直接上代码:1、控件界面2、控件后台逻辑:控件后台://////进度条///publi
本文实例为大家分享了Qt圆盘进度条的具体代码,供大家参考,具体内容如下自定义控件二:圆盘进度条上效果图:主要思路:使用qpainter根据图形需求画圆和圆弧,画
本文实例讲述了Android编程实现自定义进度条颜色的方法。分享给大家供大家参考,具体如下:android自定义进度条颜色先看图基于产品经理各种自定义需求,经过