首页 / JAVASCRIPT / 用QT实现简单的下雪效果
用QT实现简单的下雪效果
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了用QT实现简单的下雪效果,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1251字,纯文字阅读大概需要2分钟。
内容图文
![用QT实现简单的下雪效果](/upload/InfoBanner/zyjiaocheng/299/5b2cc1c86d3647f0a38a6d796e7be7c9.jpg)
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*30for(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();
以上就是用QT实现简单的下雪效果的详细内容,更多请关注Gxl网其它相关文章!
内容总结
以上是互联网集市为您收集整理的用QT实现简单的下雪效果全部内容,希望文章能够帮你解决用QT实现简单的下雪效果所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。