qt 进度条最小_QT:圆形进度条设计

QT版本:win32 QT Creator5.9.9在QT中只有横条状的进度条,目前需要使用圆形状进度条显示进度,只能自己设计一个,可以显示圆弧、圆圈和中心文本。设计思路:①设计一个QWidget部件类。提供圆圈的半径属性,根据该属性把该部件初始化为一个长宽相等的正方形部件。②重载painterEvent()事件。③在painterEvent事件中定义一个画家、画笔、字体对象,使用drawArc接...
摘要由CSDN通过智能技术生成

QT版本:win32 QT Creator5.9.9

在QT中只有横条状的进度条,目前需要使用圆形状进度条显示进度,只能自己设计一个,可以显示圆弧、圆圈和中心文本。

设计思路:

①设计一个QWidget部件类。

提供圆圈的半径属性,根据该属性把该部件初始化为一个长宽相等的正方形部件。

②重载painterEvent()事件。

③在painterEvent事件中定义一个画家、画笔、字体对象,使用drawArc接口绘制圆弧和drawText接口绘制中心文本,最后更新部件。

a、设计时提供画笔、文本类的设置接口,用于设置圆圈和字体的模样,绘制圆时占满窗体,绘制圆弧时要根据圆的路径宽度重新获取半径,防止超出窗体;框定文本的位置,固定范围和居中显示;drawArc方法绘制的圆存在诸多毛刺,需要更改渲染模式。

b、drawArc方法默认是从3点钟方向呈逆时针绘制的,要设计方法固定为0点钟起始,进度方向可调。

④针对上一步为整个工程提供设置接口。

⑤在使用时,与QTimeLine类时间轴结合使用,可以达到动态显示的结果。

待优化:

添加进度条背景

进度条颜色渐变

饼状显示

实验结果:

在使用时可以更改颜色和形状大小,边线大小和文本样式;把该部件动作子部件时,标题框不存在,且背景色为透明色。

代码实现:

arcPainter.h:</

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值