我非常想做这里所要求的事情:
http://www.qtcentre.org/threads/45028-Designing-a-Node-Editor-(Hint-Blender-Node-Editor)
这基本上是使用Qt的搅拌器样式节点编辑器。使用可以拖放的圆圈创建rects非常简单(参见下图)。
我遇到的问题是如何连接节点之间的圆圈算法。另外我不知道如何使用QGraphicsItem API有效地绘制它?我见过QPainter :: cubicTo(),看起来可能就是这样吗?
我认为它以某种方式设法找到一条无重叠的路径?但它还必须处理它必须重叠的情况?
如果算法做得不好,用户能够移动这些线路怎么样?我不认为使用QPainter :: cubicTo()实现这很简单,因为你只能移动曲线控制点?
答案 0 :(得分:2)
我认为你不会让任何人在这里发布完整代码的代码。
好吧,我是志愿者 - 以防万一有人还需要这样的图书馆。
它是在QGraphicsView之上实现的基于Qt的节点编辑器。 库使用者定义数据模型,其余部分由节点编辑器完成。 一些功能:
其余的类似项目要么没有完成,要么不再支持或缺少某些功能。
答案 1 :(得分:1)
我建议您在不考虑重叠的情况下实施它,但可以覆盖连接线的绘制方式。
看起来在Qt论坛上有一些很好的回复。我认为你不会让任何人在这里发布完整代码的代码。
也许看看Qt演示图形视图/弹性节点 - 演示的代码可以作为起点使用,但从那里到Blender节点编辑器这样做是很多工作
要看的另一个节点编辑器是SynthEdit或Synth Maker(有一个很好的)。