非AI生成,觉得有用,就请您帮忙点赞转发收藏吧,您的鼓励是我创作的动力,多谢看官。
目录
一、QGraphicsScene 的核心职责
二、重要成员函数(按使用场景归类)
1. 图元管理(最常用)
2. 便捷添加内置图元
3. 场景范围与外观
4. 选择与焦点
5. 更新与动画
三、重要信号(Signals)
四、事件处理与传递机制(重点)
QGraphicsScene 是 Qt 图形视图框架(Graphics View Framework)里的场景容器,它本身没有可视外观,主要负责管理 QGraphicsItem、调度事件、维护坐标系统与索引。
真正显示它的是 QGraphicsView。
一、QGraphicsScene 的核心职责
容器管理:增删查改场景里的所有 QGraphicsItem(节点、箭头等)。
事件分发:把 QGraphicsView传来的鼠标、键盘、拖拽事件,派发给对应位置的图元。
选择与焦点:维护当前选中项列表和焦点项。
空间索引:默认用 BSP 树高效定位海量图元(如 items()、itemAt())。
分层绘制:按 背景 → 图元层 → 前景 的顺序渲染,可通过虚函数自定义。
二、重要成员函数(按使用场景归类)
1. 图元管理(最常用)
*addItem(QGraphicsItem item):把自定义图元加入场景,内部建立索引。
*removeItem(QGraphicsItem item):从场景移除(注意:默认不 delete,需手动释放)。
clear():移除并删除场景中所有图元。
items():返回场景中全部图元列表(按 Z 值降序,最上层在前);有多重重载可按点、矩形、多边形查询。
itemAt(const QPointF &po