Qt QGraphicItem移动时重新绘制QGraphicScene

Qt QGraphicItem移动时重新绘制QGraphicScene,qt,events,qgraphicsitem,qgraphicsscene,Qt,Events,Qgraphicsitem,Qgraphicsscene,我正试着在2D图形上做一些修改 基本上它是一个小型的图表编辑器。在本例中,作者解释了当用户将连接的节点拖动到不同位置时,tracknodes()函数用于更新线的端点 这实际上并没有发生。看了代码之后,我觉得这是因为在移动节点QGraphicItem之后没有调用任何事件来更新链接的渲染 我想我必须找出QGraphicItem移动的位置和方式,以便向重新呈现链接的插槽发送wasdroped信号(或类似的信号)。这有意义吗 一般来说,我对Qt/C++相当陌生,所以我对如何实现这一点没有非常清楚的想法,

我正试着在2D图形上做一些修改

基本上它是一个小型的图表编辑器。在本例中,作者解释了当用户将连接的节点拖动到不同位置时,
tracknodes()
函数用于更新线的端点

这实际上并没有发生。看了代码之后,我觉得这是因为在移动节点QGraphicItem之后没有调用任何事件来更新链接的渲染

我想我必须找出QGraphicItem移动的位置和方式,以便向重新呈现链接的插槽发送wasdroped信号(或类似的信号)。这有意义吗


一般来说,我对Qt/C++相当陌生,所以我对如何实现这一点没有非常清楚的想法,有人有任何他/她可以共享的指针吗?

他似乎在使用虚拟函数调用画线的
tracknodes()
函数<每次移动节点时都应调用code>ItemChange。在其他情况下也会调用它,但他只使用它来跟踪
QGraphicsItem

的移动。实际上我发现,节点cpp中缺少ItemSendsGeometryChanges标志。但是你的回答是正确的,关于我实际问的问题+1@Jorum哦,对不起,我忘了提到您需要为
QGraphicsItem
设置
itemssendsgeometrychanges
标志才能获取这些通知。我很高兴你听到了。