如何使用Qt自定义控件实现圆圈加载进度条

这篇文章主要介绍了如何使用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);}

感谢你能够认真阅读完这篇文章,希望小编分享的“如何使用Qt自定义控件实现圆圈加载进度条”这篇文章对大家有帮助,同时也希望大家多多支持创新互联,关注创新互联行业资讯频道,更多相关知识等着你来学习!

网站题目:如何使用Qt自定义控件实现圆圈加载进度条
网页链接:https://www.cdcxhl.com/article48/jsdsep.html

成都网站建设公司_创新互联,为您提供搜索引擎优化静态网站软件开发微信公众号网站设计企业建站

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

成都seo排名网站优化