class QNEMainWindow(QMainWindow): def __init__(self, parent): super(QNEMainWindow, self).__init__(parent) quitAct = QAction("&Quit", self, shortcut="Ctrl+Q", statusTip="Exit the application", triggered=self.close) addAct = QAction("&Add", self, statusTip="Add a block", triggered=self.addBlock) fileMenu = self.menuBar().addMenu("&File") fileMenu.addAction(addAct) fileMenu.addSeparator() fileMenu.addAction(quitAct) self.setWindowTitle("Node Editor") self.scene = QGraphicsScene(self) self.view = QGraphicsView(self) self.view.setScene(self.scene) self.view.setRenderHint(QPainter.Antialiasing) self.setCentralWidget(self.view) self.nodesEditor = QNodesEditor(self) self.nodesEditor.install(self.scene) block = QNEBlock(None) self.scene.addItem(block) block.addPort("test", 0, QNEPort.NamePort) block.addPort("TestBlock", 0, QNEPort.TypePort) block.addInputPort("in1"); block.addInputPort("in2"); block.addInputPort("in3"); block.addOutputPort("out1"); block.addOutputPort("out2"); block.addOutputPort("out3"); block = block.clone() block.setPos(150,0) block = block.clone() block.setPos(150,150) def addBlock(self): import random import math block = QNEBlock(None) self.scene.addItem(block) names = ["Vin", "Voutsadfasdf", "Imin", "Imax", "mul", "add", "sub", "div", "Conv", "FFT"] for i in range(0,math.floor(random.uniform(3,8))): block.addPort(random.choice(names), random.random()>0.5) block.setPos(self.view.sceneRect().center().toPoint())
class QNEMainWindow(QMainWindow): def __init__(self, parent): super(QNEMainWindow, self).__init__(parent) quitAct = QAction("&Quit", self, shortcut="Ctrl+Q", statusTip="Exit the application", triggered=self.close) addAct = QAction("&Add", self, statusTip="Add a block", triggered=self.addBlock) fileMenu = self.menuBar().addMenu("&File") fileMenu.addAction(addAct) fileMenu.addSeparator() fileMenu.addAction(quitAct) self.setWindowTitle("Node Editor") self.scene = QGraphicsScene(self) self.view = QGraphicsView(self) self.view.setScene(self.scene) self.view.setRenderHint(QPainter.Antialiasing) self.setCentralWidget(self.view) self.nodesEditor = QNodesEditor(self) self.nodesEditor.install(self.scene) block = QNEBlock(None) self.scene.addItem(block) block.addPort("test", 0, QNEPort.NamePort) block.addPort("TestBlock", 0, QNEPort.TypePort) block.addInputPort("in1") block.addInputPort("in2") block.addInputPort("in3") block.addOutputPort("out1") block.addOutputPort("out2") block.addOutputPort("out3") block = block.clone() block.setPos(150, 0) block = block.clone() block.setPos(150, 150) def addBlock(self): import random import math block = QNEBlock(None) self.scene.addItem(block) names = [ "Vin", "Voutsadfasdf", "Imin", "Imax", "mul", "add", "sub", "div", "Conv", "FFT" ] for i in range(0, math.floor(random.uniform(3, 8))): block.addPort(random.choice(names), random.random() > 0.5) block.setPos(self.view.sceneRect().center().toPoint())