用qt制作视频播放器一个飞机大战平移频率是多少合适

网站已改版,请使用新地址访问:
Qt5 Qt5的一个使用示例,包括代码, 于初学者,用Qt5建立简单 计算器界面操作 Linux-Unix program 259万源代码下载-
&文件名称: Qt5& & [
& & & & &&]
&&所属分类:
&&开发工具: Visual C++
&&文件大小: 1 KB
&&上传时间:
&&下载次数: 105
&&提 供 者:
&详细说明:Qt5的一个使用示例,包括代码,使用于初学者,用Qt5建立简单的一个计算器界面操作-An simple example of Qt5 for beginners
&[]:文件不全&[]:纯粹是垃圾
&近期下载过的用户:
&&&&&&&&&&&&&&&[]
&相关搜索:
&输入关键字,在本站259万海量源码库中尽情搜索:
&[] - Qt5 开发及实例书中的代码 版本5.3.2
&[] - qtDemo,qt的界面代码,可参考学习,是快速开发的一种
&[] - 使用Qt5自带串口模块编写的串口通信程序源代码,调试通过。
&[] - 用Qt编写的打飞机游戏,有3个关卡,设置了定时打定量飞机的模式,可设置背景音乐调节各种设置。
&[] - qt开发实例教程,是初学者学习Qt的非常有用的书籍。
&[] - 本人使用QT写的用户登录界面,仅供大家参考
&[] - 可视化雷达编辑器,自己在ubuntu下用Qt写的一个程序。里面有视频录像,也可以自己编译,有源码,也有可执行程序。
&[] - 360界面制作,QT源码,从工程的角度给初学者恍然大悟的感觉...
&[] - 基于QT的五子连珠游戏,代码简单,界面简单,包含源码及程序
&[] - Qt5音乐播放器,实现歌曲播放、歌词显示、网络歌搜索下载、本地歌曲搜索。&>&&>&&>&&>&飞机大战 1.91版
飞机大战 1.91版
上传大小:188KB
很久以前用Directx 8.0sdk 和 vc6 编的一个win32 打飞机的射击游戏,今天整理硬盘发现的,年代太久远了,代码找不到了,如果需要的人多,我就重新写个2.0的代码放上来。
综合评分:4.2(16位用户评分)
所需积分:0
下载次数:137
审核通过送C币
创建者:caozhy
创建者:zhaoyading
创建者:blackwoodcliff
课程推荐相关知识库
上传者其他资源上传者专辑
开发技术热门标签
VIP会员动态
您因违反CSDN下载频道规则而被锁定帐户,如有疑问,请联络:!
android服务器底层网络模块的设计方法
所需积分:0
剩余积分:720
您当前C币:0
可兑换下载积分:0
兑换下载分:
兑换失败,您当前C币不够,请先充值C币
消耗C币:0
你当前的下载分为234。
飞机大战 1.91版
会员到期时间:剩余下载次数:
你还不是VIP会员
开通VIP会员权限,免积分下载
你下载资源过于频繁,请输入验证码
您因违反CSDN下载频道规则而被锁定帐户,如有疑问,请联络:!
若举报审核通过,可奖励20下载分
被举报人:
举报的资源分:
请选择类型
资源无法下载
资源无法使用
标题与实际内容不符
含有危害国家安全内容
含有反动色情等内容
含广告内容
版权问题,侵犯个人或公司的版权
*详细原因:Qt实现图片移动实例(图文教程)
字体:[ ] 类型:转载 时间:
这学期实训的时候用MFC做过一个飞机大战,很无聊的东西,一直想用Qt做一个;首先需要解决的问题是图片的移动,怎么说飞机啊子弹啊都是动着的,图片当然要跑起来,感兴趣的你可不要走开啊
这学期实训的时候用MFC做过一个飞机大战,很无聊的东西,一直想用Qt做一个,但是在学校的时候比较颓,回来看了一下。
首先需要解决的问题是图片的移动,怎么说飞机啊子弹啊都是动着的,图片当然要跑起来。
闲话休絮,首先用QtCreator新建一个QtGui程序,命名为PaintWidget,随便起的名字,实验么这不是。
会生成这三个文件,其中呢ui不用管,实验的图片移动需要用的是Event,不是信号槽,所以ui就不管了,放了那就是。
第一步要把图片画出来,参照《Qt学习之路的这段代码》,不难把图画出来,就是重写paintEvent方法,用QPainter对象来画图。 代码如下: void  PaintedWidget::paintEvent(QPaintEvent *event)  {          QPainter  painter(this);          QPixmap pixmap("Cat.png");           QBitmap bitmap("Cat.png");          painter.drawPixmap(10, 10, 128,  128, pixmap);          painter.drawPixmap(140, 10, 128, 128, bitmap);           QPixmap pixmap2("Cat2.png");          QBitmap  bitmap2("Cat2.png");          painter.drawPixmap(10, 140, 128, 128,  pixmap2);          painter.drawPixmap(140, 140, 128, 128, bitmap2);  } 这是他的结果
问题是如何使用图片资源:
在《C++ GUI Qt4 编程 (第二版)》这本书中有例子,直接搜这本书的源代码,在src\chap04有发现,原来Qt引用资源是用的资源文件这个东西,是一个xml,QtCreator中很方便管理。
首先是在项目中添加文件,选择Qt的资源文件:
因为以后可能有很多图片,所以我在工程目录下新建了img这么个文件夹来存放图片。
生成的资源文件里面有个添加前缀,这个是qt中引用资源需要用的,后面再说,添加文件不用啰嗦了。
为了方便说明,先把源代码发上来
mainwindow.h& 代码如下: #ifndef MAINWINDOW_H #define MAINWINDOW_H #include &QtGui& namespace Ui { class MainW } class MainWindow : public QMainWindow { Q_OBJECT public: explicit MainWindow(QWidget *parent = 0); ~MainWindow(); protected: void paintEvent (QPaintEvent *event); void mouseMoveEvent(QMouseEvent *event); void keyPressEvent(QKeyEvent *event); private: Ui::MainWindow * QPixmap *catI QRect *catImgR protected: int shrinkM
}; #endif // MAINWINDOW_H 其中&QPixmap*catI就是图片对象的指针,因为我的图片是一直猫,所用就起了这么个名字。
QRect*catImgR是这个图片的矩形信息,以为图片移动的时候图片的x,y坐标的值会改变,矩形信息会改变,而绘图函数里面有个根据矩形信息和图片指针绘制函数的这么一个函数painter.drawPixmap(*catImgRect,*catImg);
为了方便起见,用catImgRect来存储这些信息。
而int&shrinkM这个是图片的缩放倍数,我猫的图片有点儿大,把他缩小了一下,当然可以没有
这个int&则是图片移动的像素数
ok,下面是mainwindow.cpp 代码如下: #include "mainwindow.h" #include "ui_mainwindow.h" MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow), shrinkMultiple(2),speed(10) { ui-&setupUi(this); catImg = new QPixmap(":/img/cat.jpg"); int width = catImg-&width () / shrinkM int height = catImg-&height () / shrinkM catImgRect = new QRect(10,10,width,height); QRect rect = this-&geometry (); rect.setWidth (width*4); rect.setHeight (height*4); rect.setX (20); rect.setY (50); this-&setGeometry (rect); } void MainWindow::paintEvent (QPaintEvent *event) { QPainter painter(this); painter.drawPixmap(*catImgRect,*catImg); } void MainWindow::mouseMoveEvent(QMouseEvent *event) { } void MainWindow::keyPressEvent(QKeyEvent *event) { int width = catImgRect-&width (); int height = catImgRect-&height (); switch(event-&key ()) { case Qt::Key_Left: { catImgRect-&setX (catImgRect-&x ()-speed);
} case Qt::Key_Right: { catImgRect-&setX (catImgRect-&x ()+speed);
} case Qt::Key_Down: { catImgRect-&setY (catImgRect-&y ()+speed);
} case Qt::Key_Up: { catImgRect-&setY (catImgRect-&y ()-speed);
} } catImgRect-&setHeight(height); catImgRect-&setWidth (width); this-&repaint (); } MainWindow::~MainWindow() { delete catI delete catImgR
} 首先看构造函数,其中 代码如下:catImg=new QPixmap(":/img/cat.jpg"); 这里是引用资源文件,:/img/cat.jpg,冒号后面的第一个斜杠就是刚刚加的前缀。
下面几行是缩小猫的图片和初始化猫矩形信息,最后一行是把程序窗口大小设这为猫图片大小的4倍。
画图函数就是paintEvent这个函数,没什么特别说的,这个函数只要是窗口一被重绘就会调用的。
关键的移动就是重写 代码如下:voidMainWindow::keyPressEvent(QKeyEvent*event) 这个函数,没什么特别说明的,出了最后一行 代码如下:this-&repaint(); 只要是键盘被按下,则重绘窗口,如果没有这个函数的话,猫矩形确实变了,但是图片的位置没有变化,除非等到重绘的时候才会调用paintEvent函数,什么时候重绘的,当这部分窗口被遮蔽,最大化最小化,窗口移动的时候(可能还有),repaint函数的作用是立即重绘,所以图片就能马上移动了。
图片移动是没有问题了,关键是不是很流畅,当时用MFC的时候是用定时器来解决的这个问题,Qt中也有定时器,改天再研究,不过可能会出现问题,就是窗口闪烁的问题,这个时候应该会用到双缓冲画图的技术。
贴个最终的图片
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具}

我要回帖

更多关于 qt制作计算器 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信