通过上篇笔记我们知道可以采用QPainter在绘图设备的paintEvent事件里编写绘图的程序,这种绘图方式效率相对较低,绘制的图形比较简单。Qt为绘制复杂的可交互图形提供了Graphics View绘图架构,是一种基于图形选项(Graphics Item)Model/View框架(可参见本人博客Qt开发总结(14)——Model/View框架),而且其核心试图组件QGraphicsView也作为常用显示控件在Qt开发总结(13)——控件之显示控件中提及。使用Graphics View架构可以绘制复杂的有几万个基本图形元件的图形,并且每个图形元件是可选择、可拖放和可修改的,这类似与绘图软件的功能。
架构组成
Graphics View架构主要由3个部分组成,即场景、视图和图形项。
1.场景
QGraphicsScene提供绘图场景(Scene)。场景是不可见的,是一个抽象的图形项管理容器,可以向场景中添加图形项,获取场景中的某个图形项等,主要功能有:
- 提供管理大量图形项的快速接口,如QG