QT实现简单的下雪效果

原创 2017年09月13日 20:28:00

QT实现简单的下雪效果

1.读入雪花图片

1.1 使用QPixmap类读入图片
QPixmap pix("://snow2.png");
1.2 使用Prawpixmap在界面上显示图片
//前两个参数表示图片左上角顶点的位置,后两个参数表示图片的大小
p.drawPixmap(50,50,20,20,pix);

2.设置随机的坐标点并显示图案

2.1 创建一个容器存放坐标点。
QList<QPoint> dispPos;
2.2 在构造函数中初始化这些坐标点,需要设置随机数种子,记得加上<QTime>头文件
//设置随机数种子
qsrand(QTime(0,0,0).secsTo(QTime::currentTime()));
/用随机数初始化这些坐标点,随机分布在窗口中
for(int i = 0;i<10;i++)
    {
        dispPos << QPoint(qrand()%width(),qrand()%height());
    }
2.3 在窗口中在这些坐标点上显示雪花图案。
//将图片的大小设置为30*30
for(int i = 0;i<dispPos.count();i++) 
    p.drawPixmap(dispPos[i],pix.scaled(30,30));

3.控制雪花的”飘落”

3.1 使用timerEvent事件,先开启定时器
//每过50毫秒调用一次事件
timerId = startTimer(50);
3.2 在事件中改变雪花图案的y坐标值,使其下落
//遍历所有雪花
for(int i = 0;i<dispPos.count();i++)
{  //y坐标在原来基础上+1
    dispPos[i].setY(dispPos[i].y() + 1);
    //判断:当y坐标超过窗口高度时
    if(dispPos[i].y() >= height())
    {
    //将y坐标设置为0:从头开始
        dispPos[i].setY(0);
    //但是x坐标进行随机,也就是从窗口顶随机位置出现
        dispPos[i].setX(qrand()%width());
    }
}
//记得刷新界面
update();

相关文章推荐

【Cocos2d-x游戏引擎开发笔记(11)】粒子系统----实现下雪效果

原创文章,转载请注明出处:http://blog.csdn.net/zhy_cheng/article/details/8289683 太原市今天下雪了,8点出门,银装素裹,分外妖娆。今天就来主打下...

javascript canvas 实现下雪效果 圣诞节专用

直接引入以下JS代码就OK 原生JS,不需要JQuery/* http://blog.csdn.net/jesounao */ function r(a){return a*Math.random(...

WPF实现下雪效果 ...

using System; using System.Collections.Generic; using System.Linq; using System.Text; using Syst...

【Cocos2d-x游戏引擎开发笔记(11)】粒子系统----实现下雪效果

转载自:http://blog.csdn.net/zhy_cheng/article/details/8289683 太原市今天下雪了,8点出门,银装素裹,分外妖娆。今天就来主打下雪的效果,实现...

iOS 自定义转场动画实现小红书的push效果思路以及下雪碎屏等动画的实现

感觉好久没写会动的Demo了,前几天写了很久的Block源码分析,分析了几天整个人都不好了,都不知道block是什么了......,有需要的同学可以去看看,简直不要太简单Block是什么鬼    ...

使用Qt实现简单的图片预览效果

  • 2016年09月29日 09:19
  • 1.43MB
  • 下载

自定义View实现下雪效果

  • 2015年12月31日 21:56
  • 1.46MB
  • 下载

使用Qt实现简单的图片预览效果

Qt简化了UI界面的开发,相比MFC而言确实入门和进阶速度都快些;该文章主要讲解使用QListWidget加载图片进行排列并设置主窗口背景图片的功能; 界面效果如下图所示:上面两排为预加载的缩略...
  • appsucc
  • appsucc
  • 2012年11月14日 12:28
  • 241

IOS实现屏幕下雪动画的效果代码

  • 2014年06月21日 13:18
  • 129KB
  • 下载

java实现下雪雪花飘落效果

  • 2013年08月21日 15:38
  • 62KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:QT实现简单的下雪效果
举报原因:
原因补充:

(最多只允许输入30个字)