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, parent, toolbar): QSplitter.__init__(self, parent) # QTabWidget.__init__(self, parent) self.setContentsMargins(10, 10, 10, 10) self.setOrientation(Qt.Vertical) linelistwithproperties = LineListWithProperties(self) # self.addWidget(linelistwithproperties) self.lineList = linelistwithproperties.lineList self.connect(self.lineList, SIGNAL("currentRowChanged(int)"), self.current_item_changed) self.connect(self.lineList, SIGNAL("itemSelectionChanged()"), self.selection_changed) self.curveProperties = linelistwithproperties.properties self.connect(self.curveProperties, SIGNAL("apply_button_clicked()"), self.curve_properties_changed) self.curvewidget = CurveWidget(self) self.curvewidget.register_all_curve_tools() self.curve_item = make.curve([], [], color='b') self.peak_item = make.curve([],[], markerfacecolor = 'r', marker = 'o', curvestyle="NoCurve")#, alpha = 0.75) self.curvewidget.plot.add_item(self.curve_item) self.curvewidget.plot.add_item(self.peak_item) self.curvewidget.plot.set_antialiasing(True) self.addWidget(self.curvewidget) self.lines = [] # List of ImageParam instances self.peaks = [] vSplitter = QSplitter() vSplitter.setOrientation(Qt.Vertical) daqParamProperties = DAQParamsProperties(self) self.daqProperties = daqParamProperties.properties self.connect(self.daqProperties, SIGNAL("apply_button_clicked()"), self.daq_properties_changed) # daqButton = QPushButton("Upload DAQ Params") vSplitter.addWidget(daqParamProperties) # vSplitter.addWidget(daqButton) tabWidget = QTabWidget() tab1 = tabWidget.addTab(linelistwithproperties, "Curve Params") tab2 = tabWidget.addTab(vSplitter, "DAQ Params") self.addWidget(tabWidget) self.setStretchFactor(0, 0) self.setStretchFactor(1, 1) self.setHandleWidth(10) self.setSizes([1, 2])
def setupMainWidget(self) : self.main_dock = QDockWidget(_('')) self.addDockWidget(Qt.BottomDockWidgetArea, self.main_dock) self.dockTab = QTabWidget() dockSplitter = QSplitter() dockSplitter.setOrientation(Qt.Vertical) #----- toolbar = self.addToolBar("Curve") self.plotWidget = CentralWidget(self, toolbar) # Set central widget: self.dockTab.addTab(self.plotWidget, "Plot") #----- self.statusEdit = QTextEdit() self.statusEdit.setText("Status updates to go here.") self.statusEdit.setEnabled(False) self.statusEdit.moveCursor(QTextCursor.End) #----- self.testButton = QPushButton("Test Button") self.testButton.clicked.connect(self.__testClick__) dockSplitter.addWidget(self.testButton) dockSplitter.addWidget(self.statusEdit) self.dockTab.addTab(dockSplitter, "Status Info") if DockableConsole is None: self.console = None else: import time, scipy.signal as sps, scipy.ndimage as spi import sys, os import numpy as np ns = {'np': np, 'sps': sps, 'spi': spi, 'os': os, 'sys': sys, 'time': time} msg = "Example: np.arange(20)\n"\ "Modules imported at startup: "\ "os, sys, os.path as osp, time, "\ "numpy as np, scipy.signal as sps, scipy.ndimage as spi" self.console = DockableConsole(self, namespace=ns, message=msg) # console_dock = QDockWidget(_('Console')) # self.addDockWidget(Qt.BottomDockWidgetArea, console_dock) # console_dock.setWidget(self.console) self.dockTab.addTab(self.console, "Console") # dockSplitter.addWidget(self.console) # main_dock.setWidget(dockSplitter) self.main_dock.setWidget(self.dockTab)
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, parent): QSplitter.__init__(self, parent) self.name = 'subject' self.age = 26 self.peakL = 559 self.peakM = 530 self.ref_LED = 10 self.LED1 = 15 self.LED2 = 13.9 self.LED3 = 40.45 self.L_OD = 0.35 self.M_OD = 0.22 self.setContentsMargins(10, 10, 10, 10) self.setOrientation(Qt.Vertical) line1 = QSplitter() line1.setOrientation(Qt.Horizontal) line2 = QSplitter() line2.setOrientation(Qt.Horizontal) line3 = QSplitter() line3.setOrientation(Qt.Horizontal) line4 = QSplitter() line4.setOrientation(Qt.Horizontal) line5 = QSplitter() line5.setOrientation(Qt.Horizontal) line6 = QSplitter() line6.setOrientation(Qt.Horizontal) line7 = QSplitter() line7.setOrientation(Qt.Horizontal) line8 = QSplitter() line8.setOrientation(Qt.Horizontal) self.txt1 = QLineEdit(str(self.name)) self.txt1.setMaximumWidth(100) self.txt2 = QLineEdit(str(self.age)) self.txt2.setMaximumWidth(100) self.txt3 = QLineEdit(str(self.peakL)) self.txt3.setMaximumWidth(100) self.txt4 = QLineEdit(str(self.peakM)) self.txt4.setMaximumWidth(100) self.txt5 = QLineEdit(str(self.ref_LED)) self.txt5.setMaximumWidth(100) self.txt6 = QLineEdit() self.txt6.setMaximumWidth(100) self.txt7 = QLineEdit() self.txt7.setMaximumWidth(100) self.txt8 = QLineEdit() self.txt8.setMaximumWidth(100) label1 = QLabel('ID') label2 = QLabel('age') label3 = QLabel('peak L') label4 = QLabel('peak M') label5 = QLabel('ref LED') label6 = QLabel('LED1') label7 = QLabel('LED2') label8 = QLabel('LED3') line1.addWidget(label1) line2.addWidget(label2) line3.addWidget(label3) line4.addWidget(label4) line5.addWidget(label5) line6.addWidget(label6) line7.addWidget(label7) line8.addWidget(label8) line1.addWidget(self.txt1) line2.addWidget(self.txt2) line3.addWidget(self.txt3) line4.addWidget(self.txt4) line5.addWidget(self.txt5) line6.addWidget(self.txt6) line7.addWidget(self.txt7) line8.addWidget(self.txt8) self.load_button = QPushButton('load data') self.load_button.clicked.connect(self.load) self.analyze_button = QPushButton('analyze') self.analyze_button.clicked.connect(self.analyze) # add left side of the bottom panel left_side = QSplitter() left_side.setOrientation(Qt.Vertical) left_side.addWidget(self.load_button) left_side.addWidget(line1) left_side.addWidget(line2) left_side.addWidget(line3) left_side.addWidget(line4) left_side.addWidget(line5) left_side.addWidget(line6) left_side.addWidget(line7) left_side.addWidget(line8) left_side.addWidget(self.analyze_button) # set up right side of the bottom panel self.results = QListWidget(self) self.save_button = QPushButton('save', self.results) self.save_button.clicked.connect(self.save) # add right side of the bottom panel right_side = QSplitter() right_side.setOrientation(Qt.Vertical) right_side.addWidget(self.results) right_side.addWidget(self.save_button) self.addWidget(right_side) # add left and right side to bottom bottom = QSplitter() bottom.addWidget(left_side) bottom.addWidget(right_side) self.plots = CurveWidget(self, xlabel='wavelength (nm)', ylabel='sensitivity') self.addWidget(self.plots) self.addWidget(bottom) self.show_data(PRINT=False) self.setStretchFactor(0, 0) self.setStretchFactor(1, 1) self.setHandleWidth(10) self.setSizes([800, 1]) self.parse_rc_file()
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, 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()