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 __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.parent = parent self.setContentsMargins(10, 10, 10, 10) self.setOrientation(Qt.Vertical) # # Spectrometers in tabs self.tabs = SpectrometerTabs(self, ['AFFTS']) # Toolbar self.toolbar = ToolBar(parent.Icons) self.toolbar.setOrientation(Qt.Vertical) # Control panel (housekeeping) self.controlpanel = ControlPanel(self) # Status bar self.statusbar = QStatusBar() self.ActionIcon = QLabel(u"") self.ActionInfo = QLabel(u"") self.statusbar.addPermanentWidget(self.ActionIcon) self.statusbar.addPermanentWidget(self.ActionInfo, 1) self.addWidget(self.tabs) Hsplit = QSplitter() Hsplit.setOrientation(Qt.Horizontal) Hsplit.addWidget(self.toolbar) Hsplit.addWidget(self.controlpanel) self.addWidget(Hsplit) self.addWidget(self.statusbar) self.setSizes([2000, 1, 1, 1])
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): 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, parent): QSplitter.__init__(self, parent) self.parent = parent self.setContentsMargins(10, 10, 10, 10) self.setOrientation(Qt.Vertical) # Toolbar toolbar = ToolBar(parent.getIcon, parent.measureInitToggle, parent.measureStartStop) toolbar.setOrientation(Qt.Vertical) # Spectrometers in tabs self.tabs = SpectrometerTabs(self, autoX=toolbar.getX, autoY=toolbar.getY) # Control panel (housekeeping + control) controlpanel = QSplitter() self.Controlvalues = Controlwidget() self.HKvalues = HKwidget() controlpanel.addWidget(self.Controlvalues) controlpanel.addWidget(self.HKvalues) controlpanel.setSizes([2000, 1]) self.sBar = StatusBar(parent.getIcon) self.addWidget(self.tabs) Hsplit = QSplitter() Hsplit.setOrientation(Qt.Horizontal) Hsplit.addWidget(toolbar) Hsplit.addWidget(controlpanel) self.addWidget(Hsplit) self.addWidget(self.sBar) self.setSizes([2000, 1, 1, 1])
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): QMainWindow.__init__(self) self.setWindowIcon(get_icon('python.png')) self.setWindowTitle("PV Loop Simulation") pal = QtGui.QPalette() role = QtGui.QPalette.Background pal.setColor(role, QtGui.QColor(255, 255, 255)) self.setPalette(pal) self.textEdit = QtGui.QLabel('None') self.loadButton = QtGui.QPushButton("Load") self.loadButton.clicked.connect(self.on_click) self.buttonSave = QtGui.QPushButton('Clear Plot', self) self.buttonSave.clicked.connect(self.clearPlots) #self.connect(self.smoothGB, SIGNAL("apply_button_clicked()"), #self.update_window) self.table1 = QtGui.QTableWidget() self.table2 = QtGui.QTableWidget() self.fileName = '' self.lastClicked = [] self.number_plots = 0 self.pw1 = PG.PlotWidget(name='VTC') self.pw1.setLabel('left', 'Volume', units='mL') self.pw1.setLabel('bottom', 'Time', units='s') self.pw1.setBackground((255, 255, 255)) self.pw2 = PG.PlotWidget(name='VTC') self.pw2.setBackground((255, 255, 255)) self.pw2.setLabel('left', 'Pressure', units='mmHg') self.pw2.setLabel('bottom', 'Time', units='s') self.pw3 = PG.PlotWidget(name='PV') self.pw3.setBackground((255, 255, 255)) self.pw3.setLabel('left', 'Pressure', units='mmHg') self.pw3.setLabel('bottom', 'Volume', units='ml') #horizontalLayout = QtGui.QHBoxLayout(self) splitter = QSplitter(QtCore.Qt.Vertical) splitter2 = QSplitter(QtCore.Qt.Vertical) splitterH = QSplitter(QtCore.Qt.Horizontal) splitter.addWidget(self.loadButton) splitter.addWidget(self.pw1) splitter.addWidget(self.pw2) splitter.addWidget(self.pw3) splitter2.addWidget(self.table1) splitter2.addWidget(self.table2) splitter2.addWidget(self.buttonSave) splitterH.addWidget(splitter) splitterH.addWidget(splitter2) self.table1.setRowCount(5) self.table1.setColumnCount(2) self.table2.setRowCount(8) self.table2.setColumnCount(2) self.table1.setItem(0, 0, QtGui.QTableWidgetItem("Number of Loops [-]")) self.table1.setItem(0, 1, QtGui.QTableWidgetItem("4")) self.table1.setItem(1, 0, QtGui.QTableWidgetItem("HR [bpm]")) self.table1.setItem(1, 1, QtGui.QTableWidgetItem("70")) self.table1.setItem(2, 0, QtGui.QTableWidgetItem("V (LV) start [ml]")) self.table1.setItem(2, 1, QtGui.QTableWidgetItem("135")) self.table1.setItem(3, 0, QtGui.QTableWidgetItem("Pa start [mmHg]")) self.table1.setItem(3, 1, QtGui.QTableWidgetItem("96")) self.table1.setItem(4, 0, QtGui.QTableWidgetItem("Pv start [mmHg]")) self.table1.setItem(4, 1, QtGui.QTableWidgetItem("6")) self.table2.setItem(0, 0, QtGui.QTableWidgetItem("Rp")) self.table2.setItem(0, 1, QtGui.QTableWidgetItem("1.3")) self.table2.setItem(1, 0, QtGui.QTableWidgetItem("Ra")) self.table2.setItem(1, 1, QtGui.QTableWidgetItem("0.1")) self.table2.setItem(2, 0, QtGui.QTableWidgetItem("Rin")) self.table2.setItem(2, 1, QtGui.QTableWidgetItem("0.08782")) self.table2.setItem(3, 0, QtGui.QTableWidgetItem("Ca")) self.table2.setItem(3, 1, QtGui.QTableWidgetItem("1.601")) self.table2.setItem(4, 0, QtGui.QTableWidgetItem("Cv")) self.table2.setItem(4, 1, QtGui.QTableWidgetItem("1.894")) self.table2.setItem(5, 0, QtGui.QTableWidgetItem("Vd")) self.table2.setItem(5, 1, QtGui.QTableWidgetItem("1.123")) self.table2.setItem(6, 0, QtGui.QTableWidgetItem("Emax")) self.table2.setItem(6, 1, QtGui.QTableWidgetItem("1.5")) self.table2.setItem(7, 0, QtGui.QTableWidgetItem("Emin")) self.table2.setItem(7, 1, QtGui.QTableWidgetItem("0.037")) self.setCentralWidget(splitterH) self.setContentsMargins(10, 5, 10, 5) self.setGeometry(100, 100, 1000, 800) # 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, ))
def __init__(self, parent=None, title="", xlabel=("", ""), ylabel=("", ""), zlabel=None, xunit=("", ""), yunit=("", ""), zunit=None, yreverse=True, colormap="jet", aspect_ratio=1.0, lock_aspect_ratio=True, show_contrast=False, show_itemlist=False, show_xsection=False, show_ysection=False, xsection_pos="top", ysection_pos="right", gridparam=None, curve_antialiasing=None, **kwargs): if PYQT5: super(BaseImageWidget, self).__init__(parent, **kwargs) self.setOrientation(Qt.Vertical) else: QSplitter.__init__(self, Qt.Vertical, parent) self.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding) self.sub_splitter = QSplitter(Qt.Horizontal, self) self.plot = ImagePlot(parent=self, title=title, xlabel=xlabel, ylabel=ylabel, zlabel=zlabel, xunit=xunit, yunit=yunit, zunit=zunit, yreverse=yreverse, aspect_ratio=aspect_ratio, lock_aspect_ratio=lock_aspect_ratio, gridparam=gridparam) if curve_antialiasing is not None: self.plot.set_antialiasing(curve_antialiasing) from guiqwt.cross_section import YCrossSection self.ycsw = YCrossSection(self, position=ysection_pos, xsection_pos=xsection_pos) self.ycsw.setVisible(show_ysection) from guiqwt.cross_section import XCrossSection self.xcsw = XCrossSection(self) self.xcsw.setVisible(show_xsection) self.xcsw.SIG_VISIBILITY_CHANGED.connect(self.xcsw_is_visible) self.xcsw_splitter = QSplitter(Qt.Vertical, self) if xsection_pos == "top": self.xcsw_splitter.addWidget(self.xcsw) self.xcsw_splitter.addWidget(self.plot) else: self.xcsw_splitter.addWidget(self.plot) self.xcsw_splitter.addWidget(self.xcsw) self.xcsw_splitter.splitterMoved.connect( lambda pos, index: self.adjust_ycsw_height()) self.ycsw_splitter = QSplitter(Qt.Horizontal, self) if ysection_pos == "left": self.ycsw_splitter.addWidget(self.ycsw) self.ycsw_splitter.addWidget(self.xcsw_splitter) else: self.ycsw_splitter.addWidget(self.xcsw_splitter) self.ycsw_splitter.addWidget(self.ycsw) configure_plot_splitter(self.xcsw_splitter, decreasing_size=xsection_pos == "bottom") configure_plot_splitter(self.ycsw_splitter, decreasing_size=ysection_pos == "right") self.sub_splitter.addWidget(self.ycsw_splitter) self.itemlist = PlotItemList(self) self.itemlist.setVisible(show_itemlist) self.sub_splitter.addWidget(self.itemlist) # Contrast adjustment (Levels histogram) from guiqwt.histogram import ContrastAdjustment self.contrast = ContrastAdjustment(self) self.contrast.setVisible(show_contrast) self.addWidget(self.contrast) configure_plot_splitter(self) configure_plot_splitter(self.sub_splitter)
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): 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)
def __init__(self, parent, axisLimits=None, plots=[[{ 'name': 'P1', 'curves': ['C1', 'C2'] }]]): QSplitter.__init__(self, parent) self.parent = parent self.plots = [p for c in plots for r in c for p in r['curves']] self.active = None self.axisLimits = axisLimits self.xylim = XYlim() Filter = FilterWidget() # Curve panels (plots) Hsplit = QSplitter(self) self.curves = None self.panels = [] for columns in plots: column = QSplitter(self) column.setOrientation(Qt.Vertical) column.setChildrenCollapsible(False) for rows in columns: panel = cPlot(column, title=rows['name'], xlabel="\u0394f [MHz]", ylabel="Count", updateWidgets=self.xylim.updateWidgets) panel.name = rows['name'] panel.setDefaultAxis(self.axisLimits) panel.curves = { p: cItem(filterfun=Filter.filterfun) for p in rows['curves'] } if self.curves is None: self.curves = panel.curves else: self.curves.update(panel.curves) for n in panel.curves: p = panel.curves[n] p.title().setText(n) p.set_data([0], [0]) p.setPen(QPen(Qt.black, 1)) p.parent = panel panel.add_item(p) column.addWidget(panel) self.panels.append(panel) Hsplit.addWidget(column) self.addWidget(Hsplit) Hsplit = QSplitter(self) Hsplit.addWidget(self.xylim) Hsplit.addWidget(Filter) self.addWidget(Hsplit) self.setOrientation(Qt.Vertical)
def __init__(self, parent, name='Panel', plots=[[['Cold', 1], ['Hot', 1]], [['Antenna', 2], ['Reference', 1]]]): QSplitter.__init__(self, parent) self.parent = parent self.name = name self.plots = [i[0] for o in plots for i in o] # make the name's list flat self.active = None self.evnt = None self.xylim = self.XYlim() # Curve panels (plots) Hsplit = QSplitter(self) plotColumns = [QSplitter(self) for n in plots] for rows, c in zip(plots, plotColumns): c.setOrientation(Qt.Vertical) c.setChildrenCollapsible(False) c.cwidgets = [ self.cplot(c, xlabel=u"\u0394f [MHz]", ylabel="Count", updateWidgets=self.xylim.updateWidgets) for i in rows ] c.plots = [[CurveItem(CurveParam()) for j in range(i[1])] for i in rows] for m, cw in enumerate(c.cwidgets): cw.set_title(rows[m][0]) for p in c.plots[m]: p.set_data([0], [0]) p.parent = cw cw.add_item(p) # cw.set_axis_limits(BasePlot.Y_LEFT,0,1) # cw.set_axis_limits(BasePlot.X_BOTTOM,-750,750) cw.setDefaultAxis([-750, 750, 0, 1]) c.addWidget(cw) Hsplit.addWidget(c) self.addWidget(Hsplit) self.addWidget(self.xylim) self.setOrientation(Qt.Vertical) self.curvePanels = dict( zip(self.plots, sum([c.cwidgets for c in plotColumns], []))) self.curves = dict( zip(self.plots, [i for o in plotColumns for i in o.plots])) for nm in self.plots: for p in self.curves[nm]: p.setPen(QPen(Qt.blue, 1)) plotColumns[0].cwidgets[0].setActive()
def __init__(self, parent, spec=None, axisLimits=[0, 40, 0, 400], plots=[[{ 'name': 'Raw spectra', 'curves': ['Cold', 'Hot', 'Antenna'] }, { 'name': 'System noise', 'curves': ['Noise'] }], [{ 'name': 'Calibrated', 'curves': ['Calibrated'] }, { 'name': 'Integrated', 'curves': ['Integrated'] }]]): QSplitter.__init__(self, parent) self.parent = parent self.spec = spec self.name = self.spec.name if self.spec else 'Spectrometer' self.plots = [p for c in plots for r in c for p in r['curves']] self.Pc = self.Ph = self.Pa = self.Ta = self.Ti = self.Tr = None self._mean = {'count': 0, 'mean': 0} self.chopper_pos = None self.active = None self.axisLimits = axisLimits self.xylim = XYlim() Filter = FilterWidget() # Curve panels (plots) Hsplit = QSplitter(self) self.curves = None self.panels = [] for columns in plots: column = QSplitter(self) column.setOrientation(Qt.Vertical) column.setChildrenCollapsible(False) for rows in columns: panel = cPlot(column, title=rows['name'], xlabel="\u0394f [MHz]", ylabel="Count", updateWidgets=self.xylim.updateWidgets) panel.name = rows['name'] panel.setDefaultAxis(self.axisLimits) panel.curves = { p: cItem(filterfun=Filter.filterfun) for p in rows['curves'] } if self.curves is None: self.curves = panel.curves else: self.curves.update(panel.curves) for n in panel.curves: p = panel.curves[n] p.title().setText(n) p.set_data([0], [0]) p.setPen(QPen(Qt.black, 1)) p.parent = panel panel.add_item(p) column.addWidget(panel) self.panels.append(panel) Hsplit.addWidget(column) self.addWidget(Hsplit) Hsplit = QSplitter(self) Hsplit.addWidget(self.xylim) Hsplit.addWidget(Filter) self.addWidget(Hsplit) self.setOrientation(Qt.Vertical) self.curves['Cold'].setPen(QPen(Qt.blue, 1)) self.curves['Hot'].setPen(QPen(Qt.red, 1)) self.curves['Calibrated'].parent.set_titles(ylabel=u'Temperature') self.curves['Integrated'].parent.set_titles(ylabel=u'Temperature') self.curves['Noise'].parent.set_titles(ylabel=u'Temperature') cPanel = self.curves['Cold'].parent cPanel.add_item(make.legend("BL")) cPanel.setActive()
def __init__(self): QMainWindow.__init__(self) self.setWindowIcon(get_icon('python.png')) self.setWindowTitle("Stroke Work Estimation") pal = QtGui.QPalette() role = QtGui.QPalette.Background pal.setColor(role, QtGui.QColor(255, 255, 255)) self.setPalette(pal) self.textEdit = QtGui.QLabel('None') self.loadButton = QtGui.QPushButton("Compute") self.loadButton.clicked.connect(self.on_click) self.buttonSave = QtGui.QPushButton('Clear Plot', self) self.buttonSave.clicked.connect(self.clearPlots) self.dropDownMenu = QtGui.QComboBox() self.dropDownMenu.addItems( ["Vao", "Vvc", "Vpa", "Vpu", "Vlv", "Vrv", "all"]) self.table1 = QtGui.QTableWidget() self.table2 = QtGui.QTableWidget() self.fileName = '' self.lastClicked = [] self.number_plots = 0 self.pw1 = PG.PlotWidget(name='VTC') self.pw1.setLabel('left', 'Pressure', units='mmHg') self.pw1.setLabel('bottom', 'Volume', units='mL') self.pw1.setBackground((255, 255, 255)) self.pw2 = PG.PlotWidget(name='VTC') self.pw2.setBackground((255, 255, 255)) self.pw2.setLabel('left', 'Pressure', units='mmHg') self.pw2.setLabel('bottom', 'Time', units='s') self.pw3 = PG.PlotWidget(name='PV') self.pw3.setBackground((255, 255, 255)) self.pw3.setLabel('left', 'Pressure', units='mmHg') self.pw3.setLabel('bottom', 'Volume', units='ml') #horizontalLayout = QtGui.QHBoxLayout(self) splitter = QSplitter(QtCore.Qt.Vertical) splitter2 = QSplitter(QtCore.Qt.Vertical) splitterH = QSplitter(QtCore.Qt.Horizontal) #splitter.addWidget(self.dropDownMenu) splitter.addWidget(self.loadButton) splitter.addWidget(self.pw1) splitter.addWidget(self.pw2) # splitter.addWidget(self.pw3) splitter2.addWidget(self.table1) splitter2.addWidget(self.table2) splitter2.addWidget(self.buttonSave) splitterH.addWidget(splitter) splitterH.addWidget(splitter2) self.table1.setRowCount(9) self.table1.setColumnCount(2) self.table2.setRowCount(11) self.table2.setColumnCount(2) self.table1.setItem(0, 0, QtGui.QTableWidgetItem("Eao")) self.table1.setItem(0, 1, QtGui.QTableWidgetItem("1.0")) self.table1.setItem(1, 0, QtGui.QTableWidgetItem("Evc")) self.table1.setItem(1, 1, QtGui.QTableWidgetItem("1.0")) self.table1.setItem(2, 0, QtGui.QTableWidgetItem("Rmt")) self.table1.setItem(2, 1, QtGui.QTableWidgetItem("0.1")) self.table1.setItem(3, 0, QtGui.QTableWidgetItem("Rao")) self.table1.setItem(3, 1, QtGui.QTableWidgetItem("0.1")) self.table1.setItem(5, 0, QtGui.QTableWidgetItem("P max")) self.table1.setItem(5, 1, QtGui.QTableWidgetItem("100")) self.table1.setItem(6, 0, QtGui.QTableWidgetItem("V max")) self.table1.setItem(6, 1, QtGui.QTableWidgetItem("100")) self.table1.setItem(7, 0, QtGui.QTableWidgetItem("V min")) self.table1.setItem(7, 1, QtGui.QTableWidgetItem("70")) self.table1.setItem(8, 0, QtGui.QTableWidgetItem("T")) self.table1.setItem(8, 1, QtGui.QTableWidgetItem("0.5")) #### self.table2.setItem(0, 0, QtGui.QTableWidgetItem("SW 1")) self.table2.setItem(0, 1, QtGui.QTableWidgetItem("-")) self.table2.setItem(1, 0, QtGui.QTableWidgetItem("SW 2")) self.table2.setItem(1, 1, QtGui.QTableWidgetItem("-")) self.table2.setItem(2, 0, QtGui.QTableWidgetItem("SW 3")) self.table2.setItem(2, 1, QtGui.QTableWidgetItem("-")) self.table2.setItem(4, 0, QtGui.QTableWidgetItem("Elv")) self.table2.setItem(4, 1, QtGui.QTableWidgetItem("-")) self.table2.setItem(5, 0, QtGui.QTableWidgetItem("Rsys")) self.table2.setItem(5, 1, QtGui.QTableWidgetItem("-")) self.table2.setItem(6, 0, QtGui.QTableWidgetItem("SBV")) self.table2.setItem(6, 1, QtGui.QTableWidgetItem("-")) self.table2.setItem(8, 0, QtGui.QTableWidgetItem("error")) self.table2.setItem(8, 1, QtGui.QTableWidgetItem("-")) self.setCentralWidget(splitterH) self.setContentsMargins(10, 5, 10, 5) self.setGeometry(100, 100, 1000, 800) # 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, ))