我正在尝试摆弄 Qt example关于 2D 图形。
基本上它是一个小型图表编辑器。在示例中,作者解释了 tracknodes()
函数用于在用户将连接的节点拖动到不同位置时更新线的端点。
这实际上不会发生。查看代码后,我感觉这是因为移动节点 QGraphicItem后没有调用任何事件,以更新链接的渲染。 p>
我想我必须找出QGraphicItem的移动在哪里以及如何处理,以便将wasDropped信号(或类似的信号)发送到插槽重新呈现链接。这有道理吗?
总的来说,我对 Qt/C++ 还很陌生,所以我对如何实现这一点没有一个非常清晰的想法,有人有任何可以分享的建议吗?
最佳答案
他似乎正在使用 QGraphicsItem::itemChange虚拟函数调用用于绘制线条的 tracknodes()
函数。每次移动节点时都应调用 ItemChange
。在其他情况下也会调用它,但他仅使用它来跟踪 QGraphicsItem
的移动。
关于qt - QGraphicSscene 在 QGraphicsItem 上绘制移动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16853942/