Qt当项目可移动时,如何通过画线连接两个QGraphicsItem

Qt当项目可移动时,如何通过画线连接两个QGraphicsItem,qt,qgraphicsitem,qgraphicsscene,Qt,Qgraphicsitem,Qgraphicsscene,我在一个场景中有两个QGraphicsItem,我想在这两个对象之间画一条线。但是,这些对象是可移动的,我不知道每次移动后如何更新一条线?在一个应用程序中,我通过以下方式绘制三条线来实现对象之间的线: A---- : :----B 为了更新行,我添加了6个指向对象的指针 QGraphicsLineItem *prvLineItems[3]; QGraphicsLineItem *nxtLineItems[3]; 创建对象和行时,我将指针prvLineItems和nxtLine

我在一个场景中有两个QGraphicsItem,我想在这两个对象之间画一条线。但是,这些对象是可移动的,我不知道每次移动后如何更新一条线?

在一个应用程序中,我通过以下方式绘制三条线来实现对象之间的线:

A----
    :
    :----B
为了更新行,我添加了6个指向对象的指针

QGraphicsLineItem *prvLineItems[3];
QGraphicsLineItem *nxtLineItems[3];
创建对象和行时,我将指针prvLineItems和nxtLineItems设置为指向创建的行

然后,当对象的位置改变时,我也移动了相应的行(在我的mouseReleaseEvent中)


在本例中,只需要一个指向对象1和2的线的指针。当其中一个物体改变位置时,也要改变这条线的坐标。

我只需回答你的另一个问题,证明这一点:用一条线连接两次可移动的日食

有一个充分发挥作用的例子可以让你继续前进。有关更多详细信息,请参阅


如果仍不清楚,请添加评论或更新您的问题。否则,请将其标记为已接受

您必须对这些项进行子类化,并让它们在建立连接时存储一个指向line对象的指针。然后重写其
itemChange
方法,以便在几何体更改时更新该行。这不是最简单的任务,您必须注意在正确的时间正确删除对象并删除存储的指针。轻微的语法错误和固定的提示。但是如何将连接这两个对象的线条添加到场景中?boundingRect呢?