「分享篇」用C++/Qt快速实现一个炫酷波形进度条,原来这么简单

http://hui.sohu.com/infonews/article/6337062092645859328

形进度条

简介

波形进度条---即类似水波一样效果的进度条。进度条大家都见过吧,平常生活中使用到的软件基本都有进度条,用来显示某个进程或者操作的实际进度,可以很好的展现软件人性化设计。

本次要分享的是用C++/Qt实现的一个水波进度条效果,感觉效果还可以,所以分享给大家。

实际效果

水波进度条效果

可以看到,我这里设置了2种模式,文字模式和数字模式。之所以会有文字模式,因为看到了百度贴吧在加载时也会有类似的效果,不知道大家有没发现,没有发现可以打开手机百度贴吧,当加载某一项内容时会出现和我上述效果一样的内容。

实现步骤

这里先给大家说说实现步骤,这样心里会很清楚:

创建新的工程;

新建一个Widget类,作为水波纹实体类;

在上述类中的paintEvent事件中进行绘制;

在外部使用;

原理

波形进度条核心是在绘制圆,通过在绘制事件中控制圆的角度以及方式达到了这样的效果。

波浪线的绘制,波浪线的绘制使用到了数学中的sin曲线:

y=A(sin ωx+φ)+k

主要使用该函数进行控制绘制。

实现步骤

新建一个空工程名字随意。

新建一个波形类,比如叫''WaveProgress"

波形类

上述图是波形图类的头文件部分,怎么样,是不是很清晰啊,注释都很详细。主要函数也就2个。

接着实现重要的绘制函数:

核心绘制算法

这里主要看核心绘制算法就可以了。其余可以看我的工程源码。到时候私信关键字就可以了。

核心源码很简单吧,好好复习下数学中的那2个公式就知道什么意思了。其余函数不说了。

使用

上述自定义了一个Wiget,使用时仍然和上一篇将的一样,直接选择提升即可。

使用方法

重点

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值