def __init__(self): QMainWindow.__init__(self) self.setWindowIcon(get_icon("python.png")) self.setWindowTitle("Application example") # Instantiate dataset-related widgets: self.groupbox1 = DataSetShowGroupBox("Activable dataset", ExampleDataSet, comment="") self.groupbox2 = DataSetShowGroupBox("Standard dataset", AnotherDataSet, comment="") self.groupbox3 = DataSetEditGroupBox("Standard dataset", OtherDataSet, comment="") self.groupbox4 = DataSetEditGroupBox("Standard dataset", ExampleMultiGroupDataSet, comment="") self.groupbox3.SIG_APPLY_BUTTON_CLICKED.connect(self.update_window) self.update_groupboxes() splitter = QSplitter(self) splitter.addWidget(self.groupbox1) splitter.addWidget(self.groupbox2) splitter.addWidget(self.groupbox3) splitter.addWidget(self.groupbox4) self.setCentralWidget(splitter) self.setContentsMargins(10, 5, 10, 5) # File menu file_menu = self.menuBar().addMenu("File") quit_action = create_action( self, "Quit", shortcut="Ctrl+Q", icon=get_std_icon("DialogCloseButton"), tip="Quit application", triggered=self.close, ) add_actions(file_menu, (quit_action, )) # Edit menu edit_menu = self.menuBar().addMenu("Edit") editparam1_action = create_action(self, "Edit dataset 1", triggered=self.edit_dataset1) editparam2_action = create_action(self, "Edit dataset 2", triggered=self.edit_dataset2) editparam4_action = create_action(self, "Edit dataset 4", triggered=self.edit_dataset4) add_actions(edit_menu, (editparam1_action, editparam2_action, editparam4_action))
def __init__(self): # init main panel QMainWindow.__init__(self, None) # QMainWindow.__init__(self, None, QtCore.Qt.WindowStaysOnTopHint) Thread.__init__(self) widget = QWidget() self.setCentralWidget(widget) self.setWindowTitle('3D tracking') self.move(600, 150) # define main objects self.tracking = tracking_3d.Tracking3D.getInstance() # init dataset from gui_construction self.gb_sequence = DataSetEditGroupBox( "Sequence", gui_construction.RemoteParameters, comment='') self.gb_sample = DataSetEditGroupBox("Sample", gui_construction.SampleParameters, comment='') self.gb_tracking = DataSetEditGroupBox( "Tracking", gui_construction.TrackingParameters, comment='') self.btn_process = QPushButton("Start tracking", self) self.btn_process.clicked.connect(self.start_tracking) # associate events to dataset apply buttons self.connect(self.gb_sequence, SIGNAL("apply_button_clicked()"), self.update_remote_params) self.connect(self.gb_tracking, SIGNAL("apply_button_clicked()"), self.update_tracking_params) self.connect(self.gb_sample, SIGNAL("apply_button_clicked()"), self.update_sample_parameters) # organize the app panels splitter1 = QSplitter(QtCore.Qt.Vertical) splitter1.addWidget(self.gb_sequence) splitter1.addWidget(self.gb_sample) splitter1.addWidget(self.gb_tracking) splitter1.addWidget(self.btn_process) splitter = QSplitter(self) splitter.addWidget(splitter1) self.setCentralWidget(splitter) self.setContentsMargins(10, 5, 10, 5) # get all params from datasets self.gb_sequence.get() self.gb_sample.get() self.gb_tracking.get()
def _connect_project_properties(self): self.projectproperties = DataSetEditGroupBox( "Project Data", ProjectPropertiesDataset, comment="Parameters common to all assets") self.projectproperties.SIG_APPLY_BUTTON_CLICKED.connect( self._apply_dataset_values)
def __init__(self, parent): QSplitter.__init__(self, parent) # List Widget self.csvlist = QListWidget(self) self.csvlist.setContextMenuPolicy(Qt.ActionsContextMenu) plotCSV = QAction(self) plotCSV.setText("Plot") plotCSV.triggered.connect(self.plotCSV) delete = QAction(self) delete.setText("Remove") delete.triggered.connect(self.removeItem) extractCSV = QAction(self) extractCSV.setText("Extract to Arrays") extractCSV.triggered.connect(self.extractArray) self.csvlist.addAction(plotCSV) self.csvlist.addAction(extractCSV) self.csvlist.addAction(delete) self.addWidget(self.csvlist) # Properties widget self.properties = DataSetEditGroupBox(_("參數(Properties)"), CsvParam) self.properties.setEnabled(False) self.addWidget(self.properties)
def __init__(self, dataset, title = '', settings = None, settingskey = None, parent = None): super(ParamWidget, self).__init__(parent = parent) self.settings = settings self.settingskey = settingskey self.mainLayout = QVBoxLayout() self.setLayout(self.mainLayout) if self.settings is not None and self.settingskey is not None: stored_list = self.settings.getValueOrDefault('storedParameters/'+self.settingskey, [ ]) h = QHBoxLayout() self.mainLayout.addLayout(h) h.addStretch(1) self.comboParam = QComboBox() h.addWidget(self.comboParam, 3) self.refreshCombo() self.comboParam.currentIndexChanged.connect(self.comboParamChanged) buttonSave = QPushButton(QIcon(':/list-add.png') ,'') buttonSave.setMaximumSize(25,25) h.addWidget(buttonSave) buttonSave.clicked.connect(self.saveNewParam) buttonDel = QPushButton(QIcon(':/list-remove.png') ,'') buttonDel.setMaximumSize(25,25) h.addWidget(buttonDel) buttonDel.clicked.connect(self.delSavedParam) self.params = DataSetEditGroupBox(title,dataset, show_button = False) self.mainLayout.addWidget( self.params ) self.default_dict = self.to_dict()
def __init__(self): QMainWindow.__init__(self) self.setWindowTitle("Application example") self.groupbox = DataSetEditGroupBox("Standard dataset", OtherDataSet, comment='') #self.dialog = guidata.dataset.qtwidgets.DataSetEditDialog(self.groupbox) splitter = QSplitter(self) splitter.addWidget(self.groupbox)
def __init__(self, parent): QSplitter.__init__(self, parent) self.imagelist = QListWidget(self) self.addWidget(self.imagelist) self.properties = DataSetEditGroupBox(_("Properties"), ImageParam) self.properties.setEnabled(False) self.addWidget(self.properties)
def __init__(self, parent): QSplitter.__init__(self, parent) self.parent = parent self.Controlvalues = DataSetEditGroupBox(_("Control panel"), Controlwidget, show_button=False) self.addWidget(self.Controlvalues) self.HKvalues = DataSetShowGroupBox(_("Housekeeping"), HKwidget) self.addWidget(self.HKvalues) self.setSizes([2000, 1])
def create_plot(self, options): self.filter_gbox = DataSetEditGroupBox(_("Filter parameters"), FilterParam) self.filter_gbox.setEnabled(False) self.filter_gbox.SIG_APPLY_BUTTON_CLICKED.connect(self.apply_filter) self.plot_layout.addWidget(self.filter_gbox, 0, 0) self.param_gbox = DataSetShowGroupBox(_("Image parameters"), ImageParam) self.plot_layout.addWidget(self.param_gbox, 0, 1) options = dict(title=_("Image title"), zlabel=_("z-axis scale label")) ImageDialog.create_plot(self, options, 1, 0, 1, 0)
def __init__(self): QMainWindow.__init__(self) self.setWindowTitle("Application example") file_menu = self.menuBar().addMenu("File") quit_action = create_action(self, "Quit", shortcut="Ctrl+Q", icon=get_std_icon("DialogCloseButton"), tip="Quit application", triggered=self.close) add_actions(file_menu, (quit_action,)) edit_menu = self.menuBar().addMenu("Edit") self.groupbox = DataSetEditGroupBox("Standard dataset", OtherDataSet, comment='') self.groupbox.SIG_APPLY_BUTTON_CLICKED.connect(self.update_window) self.display = DataSetEditGroupBox("Read-only dataset", OtherDataSet, comment='') splitter = QSplitter(self) splitter.addWidget(self.groupbox) self.setCentralWidget(splitter) self.setContentsMargins(10, 5, 10, 5)
def __init__(self, parent=None): QSplitter.__init__(self, parent) self.setOrientation(Qt.Vertical) self.optimization_input = DataSetEditGroupBox("Optimization", OptimizationInput) self.addWidget(self.optimization_input) self.connect(self.optimization_input, SIGNAL("apply_button_clicked()"), self.start_opt) plot.ioff() figure = plot.figure() self.addWidget(figure.canvas.manager.window)
def __init__(self, parent=None): QSplitter.__init__(self, parent) self.setOrientation(Qt.Vertical) self.curve = None plot.ioff() # Must call plot.draw to update self.figure = plot.figure() self.plot = self.figure.gca() # Set "num_of_steps" as a trigger to update the plot NumericalInput.num_of_steps.set_prop("display", callback=self.plot_callback) self.numerical_input = DataSetEditGroupBox("Numerical", NumericalInput, show_button=False) self.addWidget(self.numerical_input) self.addWidget(self.figure.canvas.manager.window)
def __init__(self): QMainWindow.__init__(self) self.setWindowIcon(get_icon('python.png')) self.setWindowTitle("P3 Ctrl") # Instantiate dataset-related widgets: self.group1 = DataSetEditGroupBox("Activable dataset", Processing, comment='') self.group1.SIG_APPLY_BUTTON_CLICKED.connect(self.group1._items[0].hi) splitter = QSplitter(self) splitter.addWidget(self.group1) self.setCentralWidget(splitter) self.setContentsMargins(10, 5, 10, 5)
def __init__(self, io, params_read, params_write, parent): super(ParamDialog, self).__init__(parent) self.setWindowTitle('Options for %s' % (io.name or io.__name__)) self.io = io self.setModal(True) self.mainLayout = QVBoxLayout() self.setLayout(self.mainLayout) buttons = QDialogButtonBox(QDialogButtonBox.Ok | QDialogButtonBox.Cancel) self.connect(buttons, SIGNAL("accepted()"), SLOT("accept()")) self.connect(buttons, SIGNAL("rejected()"), SLOT("reject()")) self.read_params_edit = None self.read_params = params_read if valid_params(io.read_params): params = self.neo_to_guidata(io.read_params.values()[0], self.read_params) self.read_params_edit = DataSetEditGroupBox("Read", params, show_button=False) self.mainLayout.addWidget(self.read_params_edit) self.write_params_edit = None self.write_params = params_write if valid_params(io.write_params): params = self.neo_to_guidata(io.write_params.values()[0], self.write_params) self.write_params_edit = DataSetEditGroupBox("Write", params, show_button=False) self.mainLayout.addWidget(self.write_params_edit) self.mainLayout.addWidget(buttons)
def __init__(self, parent): QSplitter.__init__(self, parent) # List Widget self.arraylist = QListWidget(self) self.arraylist.setContextMenuPolicy(Qt.ActionsContextMenu) newArray = QAction(self) newArray.setText("Paste Array (no header name)") newArray.triggered.connect(self.pasteArray) newArrayWithName = QAction(self) newArrayWithName.setText("Paste Array (with header name)") newArrayWithName.triggered.connect(self.pasteArrayWithName) plotArray = QAction(self) plotArray.setText("Plot Array") plotArray.triggered.connect(self.plotArray) modifyArray = QAction(self) modifyArray.setText("Modify Array(Calibration)") modifyArray.triggered.connect(self.modifyArray) plotScatter = QAction(self) plotScatter.setText("Plot Scatter") plotScatter.triggered.connect(self.plotScatter) plotHist = QAction(self) plotHist.setText("Plot Histogram") plotHist.triggered.connect(self.plotHist) delete = QAction(self) delete.setText("Remove") delete.triggered.connect(self.removeItem) curveDialog = QAction(self) curveDialog.setText("Open Curve Dialog") curveDialog.triggered.connect(self.openCurveDialog) self.arraylist.addAction(newArray) self.arraylist.addAction(newArrayWithName) self.arraylist.addAction(plotArray) self.arraylist.addAction(plotScatter) self.arraylist.addAction(plotHist) self.arraylist.addAction(modifyArray) self.arraylist.addAction(curveDialog) self.arraylist.addAction(delete) self.addWidget(self.arraylist) # Properties widget self.properties = DataSetEditGroupBox(_("參數(Properties)"), CsvParam) self.properties.setEnabled(False) self.addWidget(self.properties)
def __init__(self, parent): plots=\ [[ {'name':'Source 1','curves':['in1']}, {'name':'Source 2','curves':['in2']}], [ {'name':'Result','curves':['out']}, ]] self.tabs = parent.sp df = [n.axisLimits[1] - n.axisLimits[0] for n in self.tabs] df2 = max(df) / 2 axisLimits = [ -df2, df2, min([n.axisLimits[2] for n in self.tabs]), max([n.axisLimits[3] for n in self.tabs]) ] PlotPanel.__init__(self, parent=parent, plots=plots, axisLimits=axisLimits) self._cBox = DataSetEditGroupBox("Control", self.cSet, show_button=False) self.addWidget(self._cBox) tabchoices = [(m, n.name, None) for m, n in enumerate(self.tabs)] curvechoices = [(n, n, None) for n in self.tabs[0].curves.keys()] self.cSet._items[1].set_prop('data', choices=tabchoices) self._cBox.dataset.tab1 = 0 self.cSet._items[2].set_prop('data', choices=curvechoices) self._cBox.dataset.data1 = curvechoices[0][0] self.cSet._items[5].set_prop('data', choices=tabchoices) self._cBox.dataset.tab2 = 0 self.cSet._items[6].set_prop('data', choices=curvechoices) self._cBox.dataset.data2 = curvechoices[0][0] self._cBox.get()
def __init__(self): # init main panel QMainWindow.__init__(self) Thread.__init__(self) widget = QWidget() self.setCentralWidget(widget) # define main objects self.remoteKoala = None self.aberrationCorrection = None self.stackDistance = None self.tracking = None self.db = None self.focusPoint = None self.trackingMode = 0 # 0 - Automatic, 1 - Single self.unwrapK = None self.setWindowTitle('3D tracking') # init dataset from gui_construction self.gb_dhm = DataSetEditGroupBox("DHM", gui_construction.DHMParameters, comment='') self.gb_sample = DataSetEditGroupBox("Sample", gui_construction.SampleParameters, comment='') self.gb_remote = DataSetEditGroupBox("Sequence", gui_construction.RemoteParameters, comment='') self.gb_holder = DataSetEditGroupBox("Focus", gui_construction.HolderParameters, comment='') self.gb_rec = DataSetEditGroupBox( "Preprocessing Parameters", gui_construction.ReconstructionParameters, comment='') # self.gb_proc = DataSetEditGroupBox("Process", # gui_construction.ProcessParameters, comment='') # self.gb_partchoice = DataSetEditGroupBox("Particle Choice", # gui_construction.ParticuleChoice, comment='') # associate events to dataset apply buttons self.connect(self.gb_dhm, SIGNAL("apply_button_clicked()"), self.update_dhm_params) self.connect(self.gb_sample, SIGNAL("apply_button_clicked()"), self.update_sample_params) self.connect(self.gb_remote, SIGNAL("apply_button_clicked()"), self.update_remote_params) self.connect(self.gb_holder, SIGNAL("apply_button_clicked()"), self.update_holder_params) # organize the subpanels splitter1 = QSplitter(QtCore.Qt.Vertical) splitter1.addWidget(self.gb_dhm) splitter1.addWidget(self.gb_sample) splitter1.addWidget(self.gb_remote) splitter1.addWidget(self.gb_holder) splitter2 = QSplitter(QtCore.Qt.Vertical) splitter = QSplitter(self) splitter.addWidget(splitter1) splitter.addWidget(splitter2) self.setCentralWidget(splitter) self.setContentsMargins(10, 5, 10, 5) # get all params from datasets self.gb_dhm.get()
def __init__(self, parent): QSplitter.__init__(self, parent) DSParam.__init__ self.datas = DataSetEditGroupBox(_("Dataset"), DSParam) self.addWidget(self.datas)
def __init__(self, parent): QSplitter.__init__(self, parent) self.datas = DataSetEditGroupBox(_("Fit"), FitParam) self.addWidget(self.datas)
def __init__(self): QMainWindow.__init__(self) self.setWindowIcon(get_icon('python.png')) self.setWindowTitle("Electric motor simulator") # Dataset for editing motor parameters self.groupbox1 = DataSetShowGroupBox("Motor parameters", ExampleDataSet, comment='') self.groupbox2 = DataSetShowGroupBox("Controller parameters", AnotherDataSet, comment='') self.groupbox3 = DataSetEditGroupBox("Standard dataset", OtherDataSet, comment='') self.groupbox4 = DataSetEditGroupBox("Standard dataset", ExampleMultiGroupDataSet, comment='') #self.groupbox3.SIG_APPLY_BUTTON_CLICKED.connect(self.update_window) self.update_groupboxes() splitter = QSplitter(self) splitter.addWidget(self.groupbox1) splitter.addWidget(self.groupbox2) #splitter.addWidget(self.groupbox3) #splitter.addWidget(self.groupbox4) self.setCentralWidget(splitter) self.setContentsMargins(10, 5, 10, 5) # File menu file_menu = self.menuBar().addMenu("File") quit_action = create_action(self, "Quit", shortcut="Ctrl+Q", icon=get_std_icon("DialogCloseButton"), tip="Quit application", triggered=self.close) add_actions(file_menu, (quit_action, )) # Edit menu edit_menu = self.menuBar().addMenu("Edit") editparam1_action = create_action(self, "Edit dataset 1", triggered=self.edit_dataset1) editparam2_action = create_action(self, "Edit dataset 2", triggered=self.edit_dataset2) editparam4_action = create_action(self, "Edit dataset 4", triggered=self.edit_dataset4) add_actions(edit_menu, (editparam1_action, editparam2_action, editparam4_action)) # Toolbar tb = self.addToolBar("Tools") reset = QAction("Reset", self) tb.addAction(reset) pause = QAction("Pause", self) tb.addAction(pause) step = QAction("Step", self) tb.addAction(step) go = QAction("Go", self) tb.addAction(go)