资源简介
适合于做一般的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
相关资源
- Qt_USB_I2C_MPU6050.rar
- qt实现读取txt数据并绘制曲线
- 人脸变形论文
- 迅为iTOP-4412开发板QtE-led例程,已验证
- vs2017+qt在一个dll中集成多个自定义插
- 最简单的flah交互动画
- qt编写的全键盘
- Houdini低模解算转成高模关键帧动画并
- Qt程序获取扫码枪数据
- QCamera支持多摄像头切换显示
- Qt socket的文件传输
- Qt TCP客户端
- QT实现wav音频文件读写
- TCP收发json. 客户端和服务端
- Qt 下的udp socket通信
- QT文件资源管理器
- Qt做的画图程序的源码
- LabVIEW二维系列机器人动画
- QT如何实现后台运行即最小化到右下角
- Qt QTableWidget 基本功能及排序功能
- qt-everywhere-opensource-src-5.6.0.tar.gz
- QT之打开文件对话框选择文件
- QT是实现图片得拖拉功能
- QTP自动化测试-相关练习操作视频
- H5酷炫3D开场动画酷炫又不会占太大内
- linux Qt4 软键盘
- Qt使用FontAwesome的
- 单片机开发字模提取软件生成文字、
- 毕业设计——基于QT的GPS车载导航系统
- css3动画仿加速球水波流动效果
评论
共有 条评论