使用其中的所有 QGraphicsItems 调整 QGraphicsScene 的大小

Resize QGraphicsScene with all QGraphicsItems in it

我已经用其中的几个 QGraphicsItems 覆盖了 QGraphicsScene。我计划通过鼠标移动使这个场景动态调整大小。当 qgraphicsscene 大小改变时,项目的大小和位置也应相应改变,以便映射到场景的项目的相对位置始终保持不变。我该如何管理?

下图解释了我的目标:红色区域代表 QGraphicsScene,形状代表其中的项目

调整了其中包含项目的 qgraphicsScene 的大小

如果您只想实现 "zoom" 功能,您可以调用 QGraphicsView::Scale。如果您想将此绑定到鼠标事件,您需要创建自己的继承视图并在事件处理程序中实现该功能。