Qt QGraphicscene设置项目场景位置

Qt QGraphicscene设置项目场景位置,qt,pyqt,pyqt4,pyqt5,Qt,Pyqt,Pyqt4,Pyqt5,我有一个QGraphicscene,它包含QGraphicsSitem的层次结构。 方法item.scenePos返回项目的场景坐标。 我正在寻找像setScenePos这样的东西,以便通过提供场景坐标来更改项目的位置。 我怎样才能做到这一点呢?正如上面所说: QPointF QGraphicsItem::scenePos常量 返回项目在场景坐标中的位置。这相当于调用mapToScene0,0 要得到你想要的,你可以做相反的事情 # setScenePos(QPointF point) poin

我有一个QGraphicscene,它包含QGraphicsSitem的层次结构。 方法item.scenePos返回项目的场景坐标。 我正在寻找像setScenePos这样的东西,以便通过提供场景坐标来更改项目的位置。 我怎样才能做到这一点呢?

正如上面所说:

QPointF QGraphicsItem::scenePos常量

返回项目在场景坐标中的位置。这相当于调用mapToScene0,0

要得到你想要的,你可以做相反的事情

# setScenePos(QPointF point)
point = QPointF(xx, yy)
point_item = item.mapFromScene(point)
item.setPos(point_item)

在场景中,我有一个项目的层次结构。我要更改的项目位于该层次结构场景->父->父->项目的底部。我应用了相同的方法:point=item.mapFromScenepoint\u from\u scene item.setPospoint项目的位置已更改,但位置错误。新位置与我给出的实际坐标不匹配。层次结构会对此产生影响吗?@EugeniuZnagovan可能是,我没有用层次结构对其进行测试,因为项目的位置是相对于父项的,您可以提供问题的详细信息,以便能够测试我的代码。@EugeniuZnagovan可能是,您最好指向=item.parentItem.mapFromScenepoint\u from\u scene;item.setPospoint;。项目的本地坐标系是它的父项,不是吗。