class Main(QtGui.QMainWindow): def __init__(self): QtGui.QMainWindow.__init__(self) # This is always the same self.ui=Ui_MainWindow() self.ui.setupUi(self) self.pluginContainers = [self.ui.vlayoutInp, self.ui.vlayoutProc, self.ui.vlayoutOutp] self.plugins = [[],[],[]] self.run() def run(self): diag = pluginSelectionDialog() if diag.exec_(): print 'diag:',diag.getSelected() for i in range(10): plugin = pluginWidget(self, i%3, i) plugin.onClickConfigSignal.connect(self.onClickConfigPlugin) plugin.onClickRemoveSignal.connect(self.onClickRemovePlugin) plugin.ui.txtName.setText('bla'+str(i)) plugin.ui.txtDesc.setText(' blablablabla') self.pluginContainers[plugin.pluginType].insertWidget(0,plugin) self.plugins[plugin.pluginType].append(plugin) @QtCore.pyqtSlot(int) def onClickConfigPlugin(self, nr): print "configure plugin nr", nr @QtCore.pyqtSlot(QtGui.QWidget) def onClickRemovePlugin(self, plugin): print "remove plugin nr", plugin.number, "type:", plugin.pluginType self.pluginContainers[plugin.pluginType].removeWidget(plugin) self.plugins[plugin.pluginType].remove(plugin) plugin.deleteLater()
def __init__(self): QtGui.QMainWindow.__init__(self) # This is always the same self.ui=Ui_MainWindow() self.ui.setupUi(self) self.pluginContainers = [self.ui.vlayoutInp, self.ui.vlayoutProc, self.ui.vlayoutOutp] self.plugins = [[],[],[]] self.run()