千家信息网

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

发表于:2024-11-28 作者:千家信息网编辑
千家信息网最后更新 2024年11月28日,这篇文章主要介绍了如何使用Qt自定义控件实现圆圈加载进度条,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。思路:画一个占270度的圆弧,
千家信息网最后更新 2024年11月28日如何使用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自定义控件实现圆圈加载进度条"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!

篇文章 圆弧 坐标 坐标系 圆圈 控件 进度 效果 变色 代码 价值 关键 兴趣 同时 定时器 思路 更多 朋友 知识 编带 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 新益华的数据库怎样打开 网络安全防火系统 sql数据库占用内存过大 查因 组织网络安全工作培训 网络安全基地北京 qcl数据库 深玛网络技术有限公司怎么样 求职软件开发 成广平网络安全和信息化工作会议 服务器无法安装宝塔 网络经纪人发网络技术 网络安全制度的内容包括什么 咸阳国家网络安全宣传周 串口通信隔离网络安全宣传周 rd450服务器管理口地址 软件开发接私活怎么签合同 外模式对应数据库中的什么 100兆共享服务器多少钱 软件开发按什么收费标准 韶关市内货运软件开发 天津集客网络技术服务有限公司 软件开发范例中最简单的模型 密云区网络营销软件开发 网络安全芯片华为 广州元甲互联网科技有限公司 我的世界密室杀手服务器在哪里玩 一年级小朋友谈谈身边网络安全 大学计算机网络技术所有教材 lua 软件开发 代谢物受体数据库
0