当你获取一个QGraphicsRectItem的坐标时,你得到的坐标值取决于你使用的方法。
-
局部坐标:如果你直接查询图形项(如
QGraphicsRectItem)的坐标,通常得到的是该图形项在其自身局部坐标系中的位置。在这种情况下,由于QRectF(0, 0, 100, 100)定义了矩形的局部位置和大小,其左上角的局部坐标仍然是(0, 0),这是相对于图形项自身坐标系的。 -
场景坐标:如果你想获取图形项在
QGraphicsScene中的坐标,即场景坐标,你需要使用QGraphicsItem的pos()方法。这个方法返回的是图形项在场景中的位置,考虑到之前通过setPos(50, 50)设置了位置,pos()将返回QPointF(50, 50)。
所以,回答你的问题:
- 如果你查询的是图形项的局部坐标(例如,通过
rect()方法获取其边界矩形),你将得到(0, 0)作为左上角的坐标。 - 如果你查询的是图形项在场景中的坐标(通过
pos()方法),你将得到(50, 50)。
这两种坐标系统是不同的,局部坐标是相对于图形项自身的,而场景坐标是相对于整个场景的。
QGraphicsRectItem坐标解析
3万+

被折叠的 条评论
为什么被折叠?



