首頁 > web前端 > js教程 > 主體

用QT實現簡單的下雪效果

一个新手
發布: 2017-09-14 11:16:13
原創
1466 人瀏覽過


QT實作簡單的下雪效果

1.讀入雪花圖片

r​​rreee
1.1 使用QPixmap类读入图片
登入後複製
QPixmap pix("://snow2.png");
登入後複製
1.2 使用Prawpixmap在界面上显示图片
登入後複製

2.設定隨機的座標點並顯示圖案

//前两个参数表示图片左上角顶点的位置,后两个参数表示图片的大小p.drawPixmap(50,50,20,20,pix);
登入後複製
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 在窗口中在这些坐标点上显示雪花图案。
登入後複製

3.控制雪花的」飄落」

//将图片的大小设置为30*30for(int i = 0;i<dispPos.count();i++) 
    p.drawPixmap(dispPos[i],pix.scaled(30,30));
登入後複製
3.1 使用timerEvent事件,先开启定时器
登入後複製
//每过50毫秒调用一次事件
timerId = startTimer(50);
登入後複製
3.2 在事件中改变雪花图案的y坐标值,使其下落
登入後複製

以上是用QT實現簡單的下雪效果的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板