计算qgraphicsrectitem项到qgraphicsview的坐标
时间: 2023-12-06 20:04:55 浏览: 92
QGraphicsView.7z
要计算一个QGraphicsRectItem项(item)在QGraphicsView中的坐标,可以使用以下代码:
```python
# item是要计算的QGraphicsRectItem项
view = item.scene().views()[0] # 获取该项所在的场景中的视图
item_rect = item.mapToScene(item.rect()) # 获取该项在场景中的矩形
view_rect = view.viewport().rect() # 获取视图的矩形区域
view_center = view.mapToScene(view_rect.center()) # 获取视图中心点在场景中的坐标
item_center = item_rect.center() # 获取项的中心点在场景中的坐标
item_to_view = view_center - item_center # 计算项中心点与视图中心点的差值
```
这段代码首先获取该项所在的场景中的视图(假设该项只在一个视图中被显示)。然后,它使用`mapToScene()`函数将该项的矩形映射到场景坐标系中。接下来,它获取视图的矩形区域,并使用`mapToScene()`函数将视图中心点的坐标映射到场景坐标系中。最后,它计算项的中心点与视图中心点在场景坐标系中的差值,即项在视图中的偏移量。
请注意,这里假设该项只在一个视图中被显示,如果该项在多个视图中被显示,那么需要根据具体情况选择相应的视图进行计算。
阅读全文