1. 1、本文档共13页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
图形视图框架The Graphics View Framework关键词翻译对照表:Graphics View:图形视图。Scene:场景?/场景管理器(?Scene同时担负着管理场景中的对象,建立索引等工作)。Item:这里翻译为对象,?Graphics View Framework下的?GraphicsItem是场景中可以被显示的元素。这里翻译成对象便于理解。Graphics Item:图形对象。Event:事件,等同于?Windows下的消息。正文:图形视图(?Graphics View?)提供了支持大量自定义的二维图形对象(?Item?,这里译为?“?对象?”?,方便大家理解)交互(?Interaction?)的管理器,以及一个支持缩放和旋转操作的视图?widget?用于显示这些元素。该框架包含了事件(?Event?,在?Windows?下可以理解为?“?消息?”?)传播的框架,支持场景管理器中精确的交互能力,以双精度浮点数表示对象位置、大小等属性的变化。图形元素还能处理键盘事件、鼠标按下?/?移动?/?释放和双击的时间,同时也能跟踪鼠标移动。图形视图使用?BSP?树(?Binary Space Partitioning?,二叉空间分割)提供对图形对象的快速查找,可以想像,即使是包含数以百万计对象的超大场景,也能够进行实时显示。图形查看?Qt?中引入?4.2?,取代其前身?/url?q=http%3A%2F%2F%2F4.6%2Fporting4.html%23qcanvassa=Dsntz=1usg=AFQjCNHimAespN1BjUCYwI0fFkg3sweYZgQCanvas。?如果您要从?/url?q=http%3A%2F%2F%2F4.6%2Fporting4.html%23qcanvassa=Dsntz=1usg=AFQjCNHimAespN1BjUCYwI0fFkg3sweYZgQCanvas?中移植过来,见?/url?q=http%3A%2F%2F%2F4.6%2Fgraphicsview-porting.htmlsa=Dsntz=1usg=AFQjCNGStNc7dbxDjp4fyApNvVdSXbHNWg移植到图形视图?。主题:图形视图架构场景视图对象图形视图框架中的类图形视图坐标系对象坐标场景坐标视图坐标坐标映射主要特点缩放和旋转打印拖放鼠标指针和?tooltip动画OpenGL渲染元素组widgets和布局QGraphicsWidgetQGraphicsLayout嵌入式?widget支持性能浮点运算指令图形视图架构图形视图提供基于图像对象的方式来实现?model-view的编程模式,这一点很像例程?InterView中的辅助类?QTableView,?QTreeView和QListView。不同的视图可以显示一个场景,场景则包含了不同的几何形状的对象。场景QGraphicsScene提供了图形视图的场景管理器。场景管理器有如列职责:提供一个用于管理大量对象的快速接口将事件传递到每个对象上管理对象的状态提供未进行坐标变换的渲染功能,主要用于打印场景管理器是图形对象?QGraphicsItem的容器。调用?QGraphicsScene::addItem()将对象添加到场景中后,你就可以通过调用场景管理器中的不同的查找函数来查找其中的图形对象。?QGraphicsScene::items()函数及其重载函数可以返回所有通过点、矩形多边形或路径等不同方式选中的所有对象。?QGraphicsScene::itemAt()返回在指定点位置上最上面的对象。所有找到的对象保持按照层叠递减的排列顺序(即第一个返回的对象是最顶层,和最后一个项目是最底层的对象)。?QGraphicsScene scene;?QGraphicsRectItem *rect = scene.addRect(QRectF(0, 0, 100, 100));??QGraphicsItem *item = scene.itemAt(50, 50);?// item == rectQGraphicsScene的事件传递机制负责将场景时间传递给图形对象,同时也管理对象之间的时间传递。如果场景在某个位置得到鼠标按下的消息,就将该事件传递给这个位置上的对象。QGraphicsScene同时还管理对象的状态,例如对象的选中状态和焦点状态。您可以通过调用?QGraphicsScene::setSelectionArea(),传递一个任意形状给场景管理器,选中其中包含的对象。此功能也是?QGraphicsView?中拉框选择(?rubber band)的基础。通过调用QGraphicsScene::selectedItems()可以获取当前选择集中的所

文档评论(0)

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

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

1亿VIP精品文档

相关文档