def __init__(self, fmt, params): super(ParamDialog, self).__init__() self.label = QLabel("Please choose a valid parameter set:") self.selector = QComboBox() self.editor = ParamTab() self.selector.currentIndexChanged.connect(self.setParam) # setup parameter list: self.parameters = [newParam(fmt, i) for i in availParam(fmt)] self.parameters.extend([i for i in params if i["type"] == fmt]) self.selector.addItems([i['name'] for i in self.parameters]) # layout ok = QPushButton("OK") ok.clicked.connect(self.accept) ok.setDefault(True) cancel = QPushButton("Cancel") cancel.clicked.connect(self.reject) vbox = QVBoxLayout() vbox.addWidget(self.label) vbox.addWidget(self.selector) vbox.addWidget(self.editor) hbox = QHBoxLayout() hbox.addWidget(cancel) hbox.addWidget(ok) vbox.addLayout(hbox) self.setLayout(vbox)
def initFileMenu(self): fMenu = self.menuBar().addMenu("&File") # newAction = QAction("&New Molecule", self) newAction.setShortcut("Ctrl+N") newAction.triggered.connect(self.newMol) fMenu.addAction(newAction) # nMenu = fMenu.addMenu("From existing Molecule:") copyStep = QAction("&Copy single Step", self) copyStep.triggered.connect(self.newMol) nMenu.addAction(copyStep) copyTraj = QAction("&Copy Trajectory", self) copyTraj.triggered.connect(self.newMol) nMenu.addAction(copyTraj) # loadAction = QAction("&Load Molecule(s)", self) loadAction.setShortcut("Ctrl+O") loadAction.triggered.connect(self.loadMol) fMenu.addAction(loadAction) # saveAction = QAction("&Save Molecule", self) saveAction.setShortcut("Ctrl+S") saveAction.triggered.connect(self.saveMol) fMenu.addAction(saveAction) # fMenu.addSeparator() pMenu = fMenu.addMenu("New &Parameter set") # check for available parameter sets and add for guiname, cliname in _guiOutNames.items(): p = availParam(cliname) if not p: continue if len(p) == 1: action = QAction(guiname, self) action.triggered.connect(self.newParam) pMenu.addAction(action) else: p2Menu = pMenu.addMenu(guiname) for i in p: action = QAction(i, p2Menu) action.triggered.connect(self.newParam) p2Menu.addAction(action) # saveParamAction = QAction("Save Parameter set", self) saveParamAction.triggered.connect(self.saveParam) fMenu.addAction(saveParamAction) # Screenshot fMenu.addSeparator() scrotAction = QAction("&Screenshot", self) scrotAction.setShortcut("Ctrl+P") scrotAction.triggered.connect(self.savePic) fMenu.addAction(scrotAction) # fMenu.addSeparator() exitAction = QAction("&Exit", self) exitAction.setShortcut("Ctrl+Q") exitAction.triggered.connect(self.close) fMenu.addAction(exitAction)