图形视图(Graphics View)
文章目录
Graphics View 提供了一个用于管理大量定制 2D 图形项目并与之交互的界面,以及一个用于可视化项目的视图小部件,支持缩放和旋转。
该框架包括一个事件传播架构,允许对场景中的项目进行精确的双精度交互功能。 项目可以处理按键事件,鼠标按下、移动、释放和双击事件,它们还可以跟踪鼠标移动。
图形视图使用 BSP(Binary Space Partitioning,二进制空间分区)树来提供非常快速的项目发现,因此,它可以实时可视化大型场景,即使有数百万个项目。
1、Graphics View架构
Graphics View 为模型视图编程提供了一种基于项目(Item-Based)的方法,很像 InterView 的便利类 QTableView 、 QTreeView 和 QListView 。 多个视图可以观察单个场景,场景包含不同几何形状的项目。
1.1 场景(Scene)
QGraphicsScene 提供图形视图场景。 场景有以下职责:
- 提供用于管理大量项目的快速界面
- 将事件传播到每个项目
- 管理项目状态,例如选择和焦点处理
- 提供未转换的