图形视图体系结构——Graphics View】的更多相关文章

导读:本文主要翻译自QT 5.9.3GraphicsView官方文档 一.GraphicsView框架简介 QT4.2开始引入了Graphics View框架用来取代QT3中的Canvas模块,并作出了改进,Graphics View框架实现了模型-视图结构的图形管理,能对大量图元进行管理,支持碰撞检测,坐标变换和图元组等多种方便的功能. GraphicsView框架结构主要包含三个主要的类QGraphicsScene(场景).QGraphicsView(视图).QGraphicsItem(图元…
本博的示例来自与QT Example:C:\Qt\Qt5.9.3\Examples\Qt-5.9.3\widgets\graphicsview\dragdroprobot 将通过分析示例完成主要功能: (1)颜色图元绘制 (2)机器人图元绘制 (3)颜色图元的鼠标事件 (4)机器人图元的DragDrop事件 (5)图元动画效果 一.颜色图元类实现 QGraphicsItem作为所有图元类的基类,自定义图元类需继承QGraohicsItem类,实现其基类的纯虚函数 ; ; boundingRect…
简述 图形视图(Graphics View)提供了一个平台,用于大量自定义2D图元的管理与交互,并提供了一个视图部件(view widget)来显示可以缩放和旋转的图元. 框架包括一个事件传播架构,支持场景(Scene)中的图元(Item)进行精确的双精度交互功能.图元可以处理键盘事件.鼠标按下.移动.释放和双击事件,同时也能跟踪鼠标移动. 图形视图使用一个BSP(Binary Space Partitioning - 二叉空间分割)树,以提供对图形元素的快速查找,正因为如此,它可以使超大的场景…
一.图形视图框架的结构 在前面讲的基本绘图中,我们可以自己绘制各种图形,并且控制它们.但是,如果需要同时绘制很多个相同或不同的图形,并且要控制它们的移动.检测它们的碰撞和叠加:或者我们想让自己绘制的图形可以拖动位置.进行缩放和旋转等操作.实现这些功能,要是还使用以前的方法,那么会十分困难.解决这些问题,可以使用Qt提供的图形视图框架. 图形视图(Graphics View)框架结构的主要特点如下: 图形视图(Graphics View)可以对大量定制的2D图形项进行管理和相互作用.视图部件可以让…
Qt4.2开始引入了Graphics View框架用来取代Qt3中的Canvas模块,并在很多地方作了改进,Graphics View框架实现了模型-视图结构的图形管理,能对大量图元进行管理,支持碰撞检测,坐标变换和图元组等多种方便的功能.GraphicsView中增强的表现系统可以利用Qt4绘图系统的反锯齿,OpenGL工具来改善绘图性能,Graphics View支持事件传播体系结构,可以利用图元在场景(scene)中的到提高了一倍的精确交互能力,图元能够处理键盘事件,鼠标按下,移动,释放,…
Graphics View Framework 交互式 2D 图形的 Graphics View 框架概述.自 Qt4.2 中引入了 Graphics View,以取代其前身 QCanvas.Graphics View 提供了一个用于管理和交互大量的可定制的 2D 图形项与用于可视化这些项的 View 小部件的 surface(曲面),并提供缩放(zooming)和旋转(rotation)功能支持. 该框架包括事件传播体系结构(an event propagation architecture)…
接受CSDN学院的邀请,讲一次公开课,主题是Qt图形视图框架,报名链接在这里:http://edu.csdn.net/huiyiCourse/detail/228. 内容有两部分:自定义Item和拖放. 先准备了一点资料,放在这里做备忘. Qt Graphics View 框架的示意: 自定义QGraphicsItem的要点: QGraphicsView内处理拖放的一般步骤: 因着这个由头,抽时间录制了一门视频教程:Qt 图形视图框架详解.感兴趣的可以看看. 另:我参加了CSDN博客之星评选,感…
用Qt的图形视图框架(Graphics View Framework)做了一个拼图游戏DEMO,演示了: QGraphicsView.QGraphicsScene.QGraphicsItem的基本用法 drag && drop 自定义QGraphicsItem 先来看看效果吧: 现在,来看下代码了. 项目说明 如上图所示,项目名称为qPuzzle,三个源文件,main.cpp是入口,imageitem.h和imageitem.cpp实现了: PuzzleImageItem,就是界面左上侧那…
Graphics View 提供了一种接口,用于管理大量自定义的 2D 图形元素,并与之进行交互:还提供了用于将这些元素进行可视化显示的观察组件,并支持缩放和旋转.我们通常所说的 Linux 的 KDE 桌面环境,就是建立在 Graphics View 基础之上的(尽管新版本的 KDE 有向 QML 迁移的趋势). Graphics View 框架包含了一套完整的事件体系,可以用于与场景中的元素进行双精度的交互.这些元素同样支持键盘事件.鼠标事件等.Graphics View 使用了 BSP 树…
Graphics View 提供了一种接口,用于管理大量自定义的 2D 图形元素,并与之进行交互:还提供了用于将这些元素进行可视化显示的观察组件,并支持缩放和旋转. 说明;Graphics View 框架包含了一套完整的事件体系,可以用于与场景中的元素进行双精度的交互.这些元素同样支持键盘事件.鼠标事件等. Graphics View 使用了 BSP 树(Binary Space Partitioning tree,这是一种被广泛应用于图形学方面的数据结构)来提供非常快速的元素发现,也正因为如此…