QT图形用户界面.ppt

  1. 1、本文档共44页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
QT图形用户界面

2D QGraphicsView OK, 我们完成了 2D图形的程序框架如下 QMainWindow - QGraphicsView 容器 - QGraphicsScene 场景 - QGraphicsPixmapItem像素图元 到此程序编译成功,可以运行,但是一片空白。 为啥? 因为item并没有贴上像素,也就是没有贴图片 GUI也就是在绘图,或是显示图片 现在我们给Item贴上图片 * QGraphicsPixmapItem像素图元 贴图 QGraphicsPixmapItem像素图元 查HELP文档QGraphicsPixmapItem找相关贴图的接口,还是找add, set, Pixmap相关的单词, 英语不好的童鞋好好查友道词典,不要发呆,不要等别人现成的答案。 * QGraphicsPixmapItem像素图元 贴图 找到void setPixmap ( const QPixmap pixmap ); 形参需要一个QPixmap 的类,继续看QPixmap Format格式支持里,支持BMP GIF JPG PNG等很多的图片格式,但是原生只支持BMP和PNG,但其它的格式都通过了插件的模式支持了。 怎么把图片的格式转换成QPixmap呢?找接口。 图片是一个文件, 一个filename ,就找filename 相关 QPixmap ( const QString fileName, const char * format = 0, Qt::ImageConversionFlags flags = Qt::AutoColor ) bool load ( const QString fileName, const char * format = 0, Qt::ImageConversionFlags flags = Qt::AutoColor ) 一个是构造时就可以转换,一个是用load()来转换 * QGraphicsPixmapItem像素图元 贴图 要贴的图片文件要先加入资源文件,这里取名ppp 加完了以后,双击ppp.qrc * QGraphicsPixmapItem像素图元 贴图 1 2 3 1. 添加前缀 2. 下面的前缀很长,改成 / , 在这里的路径和程序里的路径都按Linux/Unix标准45度的杠执行; 3. 把你要的图片文件先复制到工程文件夹下,再去按”添加”- “添加文件” ,可以一次性框选多个文件 * QGraphicsPixmapItem像素图元 贴图 好了,开始给Item贴图 这里调用QGraphicsPixmapItem的setPixmap()接口 直接用QPixmap构造函数生成无名对象输入setPixmap() 现在运行一下程序看看,有图片了。 * 应 用 这么大的力气,显示了一张图? 你可以显示4张图,然后加上定时器……打地鼠; 再多显示几张,围棋,国际象棋, 如果让item在一秒内多次移动坐标动起来的话? 对了,可以做俄罗斯方块 如果把图片贴的漂亮一点,内容再丰富一点, 植物大战僵尸,小鸟…… 没有做不到,只有想不到。 * 鼠标事件响应 还记得protected里的虚函数么? 去找Item的虚函数, 找mouse相关的虚函数重载 来实现鼠标事件处理 virtual void mousePressEvent(); 还记得怎么重载虚函数不? * 鼠标事件响应 点了以后,让他变张图 运行一下试试看,变了没 * 鼠标事件响应 左右键区分 双键 查HELP文档看形参上的QGraphicsSceneMouseEvent 是个什么样的类 button() 和 buttons() 2个接口用来返回你点了什么键 注意它们的返回值,是宏定义 Qt:MouseButton,再去查是什么样的东西. * 鼠标事件响应 左右键区分 双键 首先你要用QGraphicsSceneMouseEvent的对象,头文件不要忘了 左+右 双键一点点 换 start.png, 只是左键就换lose.png, 运行一下试试,文件名别打错 * 怎样显示多个图片呢? 多生成几个item对象并不能看见多张图片,重复打开多个窗口会重叠,所以要对每张图片设定坐标避免重叠,查HELP坐标和pos相关,图形的边界大小和bound相关 * 阶段总结 QT是用于

文档评论(0)

rovend + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档