Quantcast
Channel: CSDN博客推荐文章
Viewing all articles
Browse latest Browse all 35570

Qt 实现桌面雪花飘落 - 修改1

$
0
0

今年圣诞节手痒简单实现了一个桌面雪花飘落的动画背景, 发给老婆体验一下, 提了些意见, 进行了改进.

上一个版本地址在:

http://blog.csdn.net/vince025/article/details/17552497


今天改进了以下几点:

1. 雪花旋转了

2. 加入了飘落时会左右飘动, 想模拟风吹的感觉. (很生硬, 算法还得优化)

3. 会在桌面底部堆积雪花 (一网友在第一版的资源下载里提出的建议)

4. 下落速度和左右飘的速度在一定的范围内随机生成


这个版本的代码托管在github.com上了:

https://github.com/vince025/DesktopSnowFalling.git

备注: 有点懒, 代码没注释.


准备将这个应用的优化和改进过程写成系列, 好好了解一下Qt做动画. blog里不过多解释, 往后会多写注释. 看代码就应该ok了.

目前的优化/对比想法:

动画目前是使用QLabel存图片信息, 然后轮流显示实现动画.

往后试试以下方法:

1. 轮流重画QWidget背景图实现动画

2. 使用QGraphicView实现动画

3. 使用animations实现动画

4.每个雪花动画自己更新动画(目前有大的QWidget使用一个timer一次循环更新全部雪花的动画切换)

主要是想看看哪些方法更容易实现, 更省系统资源(比如所耗CPU, 内存等)


这里说一下三个类(目前只写了三个类):

Widget类: 作为背景, 透明, 主窗口

Swing类: 提供雪花摆动的方向(左/右/下)

SnowWidget类: 雪花的实现类


PS: 刚好最近结了项目, 有时间, ^_^

上传了可直接运行的程序:

http://download.csdn.net/detail/vince025/6775145


上一张截图, 老婆配了个背景:



作者:vince025 发表于2013-12-27 2:28:45 原文链接
阅读:88 评论:0 查看评论

Viewing all articles
Browse latest Browse all 35570

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>