获得scene左上角和右下角的坐标
时间: 2023-10-26 08:04:45 浏览: 112
要获取QGraphicsScene的左上角和右下角坐标,可以使用QGraphicsScene的sceneRect()方法。该方法返回一个QRectF对象,包含了场景的左上角和右下角坐标信息。
例如,以下代码可以获取场景的左上角和右下角坐标:
```
QRectF sceneRect = scene->sceneRect();
qreal sceneLeft = sceneRect.left();
qreal sceneTop = sceneRect.top();
qreal sceneRight = sceneRect.right();
qreal sceneBottom = sceneRect.bottom();
```
上述代码将获取场景的左上角坐标(sceneLeft, sceneTop)和右下角坐标(sceneRight, sceneBottom)。注意,这些坐标值是相对于场景左上角的,而不是相对于视口左上角的。如果需要将它们转换为视口坐标系中的坐标,可以使用QGraphicsView的mapFromScene()方法和mapToScene()方法进行转换。
例如,以下代码可以获取场景左上角和右下角在视口中的坐标:
```
QPointF topLeft = view->mapFromScene(sceneLeft, sceneTop);
QPointF bottomRight = view->mapFromScene(sceneRight, sceneBottom);
```
上述代码将使用QGraphicsView的mapFromScene()方法,将场景坐标转换为视口坐标。如果需要将视口坐标转换为场景坐标,可以使用QGraphicsView的mapToScene()方法。
阅读全文