图形视图、动画和状态机框架 Qt Creator入门教学PPT课件.ppt

图形视图、动画和状态机框架 Qt Creator入门教学PPT课件.ppt

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《Qt Creator快速入门》第3版 第11章 图形视图、动画和状态机框架 高级的图形和动画应用框架 图形视图框架(Graphics View Framework) 动画框架(Animation Framework) 状态机框架(State Machine Framework) 11.1 图形视图框架的结构 11.2 坐标系统和事件处理 11.3 图形视图框架的其他特性 11.4 动画框架 11.5 状态机框架 主 要 内 容 11.1 图形视图框架的结构 基本绘图 绘图完成后,无法控制图形元素。 图形视图框架 绘图完成后,可以控制图形项的移动、检测它们的碰撞和叠加等。 比喻: 基本绘图像在纸上画画,画完后很难更改。 图形视图框架像在板子上放拼图,不满意可以随时更改。 图形视图框架主要包含三部分: 图形项(QGraphicsItem):是基本的绘图单元。 图形视图框架为经典的形状提供了标准的图形项,如矩形(QGraphicsRectItem)、椭圆(QGraphicsEllipseItem) 、文本项(QGraphicsTextItem)等。(世界的组成元素) 场景(QGraphicsScene ):是放置图形项对象的容器。 可以调用addItem()函数向场景中添加图形项,场景对图形项进行管理。(真实世界) 视图(QGraphicsView):用来使场景中的内容可视化。 每个视图提供一个视口。对于同一个场景,可以使用不同的视图对象实现不同的可视化效果。(不同的人、动物、甚至事物看到的世界) QGraphicsRectItem:提供一个矩形item QGraphicsEllipseItem:提供一个椭圆item QGraphicsPolygonItem:提供一个多边形item QGraphicsLineItem:提供一条线的item QGraphicsPathItem:提供一个任意的路径item QGraphicsSimpleTextItem:提供一个文字图标item QGraphicsTextItem:提供一个文本浏览item QGraphicsPixmapItem:提供一个图形item 标准图形项 相关函数 scene.addItem(item):向场景中添加已有的图形项 scene.addRect():新建标准图形项(矩形),并添加到场景中。 scene.itemAt(QPoint):返回指定位置处最顶层可视的图形项。 scene.items():返回满足特定条件的所有图形项。 view.setForegroundBrush():设置视图的前景颜色。 view.setBackgroundBrush():设置视图的背景颜色。 view.scale()、rotate() 等:对视图进行仿射变换。 QGraphicItemGroup:一个图形项组可以包含多个图形项,一个图形项组在场景中可以当作一个图形项使用。 自定义图形项 若需要使用标准图形项之外的图形,可以自定义图形项。 步骤: ①子类化QGraphicsItem类; class MyItem : public QGraphicsItem { } ②重新实现边界矩阵函数boundingRect(); ③重新实现绘制函数paint()。 11.2.1 坐标系统 边界矩形(bounding rectangle) 图形项、场景、视图都在各自的一个矩形框中。 坐标原点(默认) 图形项坐标:在其边界矩形的中心。 场景坐标:在其边界矩形的中心。 视图坐标:在其边界矩形的左上角。 坐标轴 x轴从左到右; y轴由上到下; z轴由内而外(图形项的z值越大,在场景中越靠上)。 相关函数 item.setPos():设置图形项在场景中的位置。 item.pos():返回图形项在场景(父对象)中的位置。 item.setZValue():设置图形项的Z值,Z值越大越靠上。 坐标映射函数 11.2.2 事件处理与传播 事件的传播 视图(QEvent)→场景(QGraphicsSceneEvent)→图形项 事件在从视图到场景的传递过程中进行了类型转换。 图形视图事件的类型 QEvent QGraphicsSceneEvent QGraphicsSceneDragDropEvent QGraphicsSceneMouseEvent QGraphicsSceneHoverEvent QGraphicsSceneContextMenuEvent QGraphicsSceneWheelEvent QGraphicsSceneResizeEvent QGraphicsSceneMoveEvent 图形项接收的事件类型 键盘事件: 默认地,图形项不接收键盘事件; 使用item.setF

文档评论(0)

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

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

1亿VIP精品文档

相关文档