本文整理汇总了Python中MT.isCompatible方法的典型用法代码示例。如果您正苦于以下问题:Python MT.isCompatible方法的具体用法?Python MT.isCompatible怎么用?Python MT.isCompatible使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类MT
的用法示例。
在下文中一共展示了MT.isCompatible方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: dropEvent
# 需要导入模块: import MT [as 别名]
# 或者: from MT import isCompatible [as 别名]
def dropEvent(self, event):
nodeLabel = str(event.mimeData().text())
event.mimeData().setText("")
self.drop = False
if nodeLabel == "":
return
_node = MT.createNode(nodeLabel)
if _node is not None:
self.scene().space.addNode(_node)
scenePos = self.mapToScene(event.pos())
nw = NodeDesigner.width
nh = NodeDesigner.height
_node.pos = (scenePos.x() - nw/2, scenePos.y() - nh/2)
#link it
#find sockets this corresponds to
insocket = None
for socket in self.start.data.insockets:
if (socket.connected is not None
and socket.connected.node.ptr == self.end.data.ptr):
insocket = socket
break
out = insocket.connected
#find new matching insocket and link
insockets = MT.getCompatibleSockets(out, node_)
if len(insockets) == 1:
insockets[0].connected = out
else:
menu = QMenu()
for socket in insockets:
action = menu.addAction(socket.name)
def connect():
socket.connected = out
action.triggered.connect(connect)
menu.exec_(event.screenPos())
outsockets = list(filter(lambda o: MT.isCompatible(insocket, o), _node.outsockets))
if len(outsockets) == 1:
insocket.connected = outsockets[0]
else:
menu = QMenu()
for socket in outsockets:
action = menu.addAction(socket.name)
def connect():
insocket.connected = socket
action.triggered.connect(connect)
menu.exec_(event.screenPos())
示例2: dropNodeConnect
# 需要导入模块: import MT [as 别名]
# 或者: from MT import isCompatible [as 别名]
def dropNodeConnect(self):
sitems = self.graph.scene().selectedItems()
if not sitems:
return self.dropNodeCenter()
last_node = sitems[0].data
pos = last_node.pos
newPos = (pos[0], pos[1] + (n.NodeDesigner.height * 2) + 20)
nodelabel = self.selectedItems()[0].text(1)
node = self.graph.dropNode(nodelabel, newPos)
for snode in sitems:
for outsocket in snode.data.outsockets:
for insocket in node.insockets:
if (MT.isCompatible(insocket, outsocket)
and not insocket.connected):
insocket.connected = outsocket
break