資源簡介
適合于做一般的Qt編程練習,同時對于學習Qt也是一個質的飛躍,歡迎共同學習分享,如還需要其他的Qt相關資料可來我的CSDN博客空間留言索取.---在Qt的道路上我們共同學習進步

代碼片段和文件信息
#include?“butterfly.h“
#include?
#include?
static?const?double?PI?=?3.14;
Butterfly::Butterfly()
{?
????pix_up.load(“:/images/butterfly1.png“);???//圖片的加載
????pix_down.load(“:/images/butterfly2.png“);
????up?=?true;
????startTimer(100);??//時間間隔100毫秒
????
}
QRectF
Butterfly::boundingRect()?const???//加載蝴蝶項目的限定范圍,以其自身的坐標系為基礎設定的
{
????qreal?adjust?=?2;
????return?QRectF(-pix_up.width()/2-adjust-pix_up.height()/2-adjust
???? pix_up.width()+adjust*2pix_up.height()+2*adjust);
}
//一下函數實現蝴蝶的飛舞效果
void
Butterfly::paint(QPainter?*painter?const?QstyleOptionGraphicsItem?*option?QWidget?*widget)
{
????if(up)
????{
????????painter->drawPixmap(boundingRect().topLeft()pix_up);//繪圖
???? up?=?!up;
????}
????else
????{
???? painter->drawPixmap(boundingRect().topLeft()pix_down);
???? up?=?!up;
????}
}
//判斷蝴蝶的運動范圍,并做相應的處理相信根據函數名大家都知道啥意思
void
Butterfly::timerEvent(QTimerEvent?*)
{
????//?edge?controll
????qreal?edgex?=?scene()->sceneRect().right()+boundingRect().width()/2;
????qreal?edgetop?=?scene()->sceneRect().top()+boundingRect().height()/2;
????qreal?edgebottom?=?scene()->sceneRect().bottom()+boundingRect().height()/2;
????
????if?(pos().x()?>=?edgex)
???? setPos(scene()->sceneRect().left()pos().y());
????if?(pos().y()?<=?edgetop)
????????setPos(pos().x()scene()->sceneRect().bottom());
????if?(pos().y()?>=?edgebottom)
????????setPos(pos().x()scene()->sceneRect().top());
????
????angle?+=?(qrand()%10)/20.0;
????qreal?dx?=?fabs(sin(angle*PI)*10.0);
????qreal?dy?=?(qrand()%20)-10.0;
????//flash?=?!flash;
????setPos(mapToParent(dxdy));//映射到場景的坐標
????update();
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????34825??2008-05-09?17:39??butterfly\butterfly
?????文件???????1755??2011-02-27?16:08??butterfly\butterfly.cpp
?????文件??????37888??2008-05-09?17:49??butterfly\butterfly.exe
?????文件????????610??2011-02-27?15:57??butterfly\butterfly.h
?????文件????????359??2008-05-09?17:52??butterfly\butterfly.pro
?????文件???????7981??2011-02-27?16:01??butterfly\butterfly.pro.user
?????文件????????148??2008-03-24?16:09??butterfly\butterfly.qrc
?????文件???????1847??2008-03-24?16:06??butterfly\images\butterfly1.PNG
?????文件???????2098??2008-03-24?16:03??butterfly\images\butterfly2.PNG
????..A..H.?????11776??2008-03-25?08:36??butterfly\images\Thumbs.db
?????文件????????757??2011-02-27?16:08??butterfly\main.cpp
?????文件???????8413??2008-05-09?17:52??butterfly\Makefile
?????文件???????5720??2008-05-09?17:49??butterfly\Makefile.Release
????..A..H.??????9728??2008-03-25?08:36??butterfly\Thumbs.db
?????目錄??????????0??2009-05-04?10:19??butterfly\images
?????目錄??????????0??2011-02-26?18:47??butterfly
-----------?---------??----------?-----??----
???????????????123905????????????????????16
評論
共有 條評論