目标
Edge能够完全跟着Node走,并且socket有多种样式或者说种类
其中不同颜色的socket就是不同样式的socket,用
Node(scene, title=“Undefined Node”, inputs=[], outputs=[])
中的inputs和outputs表示
实现
使Edge跟着socket走,也就是跟着Node走
在上次程序中我定义了一个方法updatePosition
来更新两个socket间的连线,为了让Edge跟着Node走也就要当Node位置发生更新时,updatePosition
将会被调用
在node_graphics_node.py添加以下代码
def mouseMoveEvent(self, event):
super().mouseMoveEvent(event)
self.node.updateConnectedEdges()
在鼠标拖动Node的时候,则调用node.updateConnectedEdges()
这个方法
在node_node.py添加updateConnectedEdges()方法
def updateConnectedEdges(self):
for socket in self.inputs