def __init__(self, parent): QSplitter.__init__(self, parent) # self.lineList = QListWidget(self) # self.addWidget(self.lineList) self.properties = DataSetEditGroupBox(_("Properties"), DAQParam) self.properties.setEnabled(True) self.addWidget(self.properties)
def __init__(self, package, parent=None): QSplitter.__init__(self, parent) self.setWindowTitle(_("Tests - %s module") % package.__name__) self.setWindowIcon(get_icon("%s.svg" % package.__name__, "guidata.svg")) test_package_name = '%s.tests' % package.__name__ _temp = __import__(test_package_name) test_package = sys.modules[test_package_name] tests = get_tests(test_package) listwidget = QListWidget(self) listwidget.addItems([osp.basename(test.filename) for test in tests]) self.properties = TestPropertiesWidget(self) self.addWidget(listwidget) self.addWidget(self.properties) self.properties.run_button.clicked.connect( lambda: tests[listwidget.currentRow()].run()) self.properties.quit_button.clicked.connect(self.close) listwidget.currentRowChanged.connect( lambda row: self.properties.set_item(tests[row])) listwidget.itemActivated.connect( lambda: tests[listwidget.currentRow()].run()) listwidget.setCurrentRow(0) QShortcut(QKeySequence("Escape"), self, self.close) self.setSizes([150, 1]) self.setStretchFactor(1, 1) self.resize(QSize(950, 600)) self.properties.set_item(tests[0])
def __init__(self, parent=None, title=None, xlabel=None, ylabel=None, xunit=None, yunit=None, section="plot", show_itemlist=False, gridparam=None, curve_antialiasing=None, **kwargs): if PYQT5: super(BaseCurveWidget, self).__init__(parent, **kwargs) self.setOrientation(Qt.Horizontal) else: QSplitter.__init__(self, Qt.Horizontal, parent) self.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding) self.plot = CurvePlot(parent=self, title=title, xlabel=xlabel, ylabel=ylabel, xunit=xunit, yunit=yunit, section=section, gridparam=gridparam) if curve_antialiasing is not None: self.plot.set_antialiasing(curve_antialiasing) self.addWidget(self.plot) self.itemlist = PlotItemList(self) self.itemlist.setVisible(show_itemlist) self.addWidget(self.itemlist) configure_plot_splitter(self)
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): 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, toolbar): QSplitter.__init__(self, parent) self.setContentsMargins(10, 10, 10, 10) self.setOrientation(Qt.Vertical) imagelistwithproperties = ImageListWithProperties(self) self.addWidget(imagelistwithproperties) self.imagelist = imagelistwithproperties.imagelist self.connect(self.imagelist, SIGNAL("currentRowChanged(int)"), self.current_item_changed) self.connect(self.imagelist, SIGNAL("itemSelectionChanged()"), self.selection_changed) self.properties = imagelistwithproperties.properties self.connect(self.properties, SIGNAL("apply_button_clicked()"), self.properties_changed) self.imagewidget = ImageWidget(self) self.connect(self.imagewidget.plot, SIG_LUT_CHANGED, self.lut_range_changed) self.item = None # image item self.imagewidget.add_toolbar(toolbar, "default") self.imagewidget.register_all_image_tools() self.addWidget(self.imagewidget) self.images = [] # List of ImageParam instances self.lut_ranges = [] # List of LUT ranges self.setStretchFactor(0, 0) self.setStretchFactor(1, 1) self.setHandleWidth(10) self.setSizes([1, 2])
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, 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 __init__(self, manager, parent=None): QSplitter.__init__(self, Qt.Horizontal, parent) self.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding) self.manager = manager self.plots = [] self.itemlist = None main = QWidget() self.plotlayout = QGridLayout() main.setLayout(self.plotlayout) self.addWidget(main)
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.setWindowTitle(MAIN_WINDOW_TITLE) self.setWindowIcon(get_icon("agent.svg")) self.sysTray = SystemTray(self) self.connect(self.sysTray, SIGNAL("activated(QSystemTrayIcon::ActivationReason)"), self.__icon_activated) checks = get_checks() datadog_conf = DatadogConf(get_config_path(), description="Agent settings file: datadog.conf") self.log_file = LogFile() listwidget = QListWidget(self) listwidget.addItems([osp.basename(check.module_name).replace("_", " ").title() for check in checks]) self.properties = PropertiesWidget(self) self.addWidget(listwidget) self.addWidget(self.properties) self.connect(self.properties.enable_button, SIGNAL("clicked()"), lambda: enable_check(self.properties)) self.connect(self.properties.disable_button, SIGNAL("clicked()"), lambda: disable_check(self.properties)) self.connect(self.properties.save_button, SIGNAL("clicked()"), lambda: save_file(self.properties)) self.connect(listwidget, SIGNAL('currentRowChanged(int)'), lambda row: self.properties.set_item(checks[row])) self.connect(self.properties.edit_datadog_conf_button, SIGNAL('clicked()'), lambda: self.properties.set_datadog_conf(datadog_conf)) self.connect(self.properties.view_log_button, SIGNAL('clicked()'), lambda: self.properties.set_log_file(self.log_file)) self.manager_menu = Menu(self) self.connect(self.properties.menu_button, SIGNAL("clicked()"), lambda: self.manager_menu.popup(self.properties.menu_button.mapToGlobal(QPoint(0,0)))) listwidget.setCurrentRow(0) self.setSizes([150, 1]) self.setStretchFactor(1, 1) self.resize(QSize(950, 600)) self.properties.set_datadog_conf(datadog_conf) self.do_refresh()
def __init__(self, parent, settings, toolbar, start_freq, bandwidth, numpts, dev): QSplitter.__init__(self, parent) self.setContentsMargins(10, 10, 10, 10) self.setOrientation(Qt.Vertical) self.curvewidget = CurveWidget(self) self.item = {} self.points = [] self.max_hold = False self.do_log = True self.colours = ['b', 'r', 'c', 'y'] self.legend = None self.settings = settings self.curvewidget.add_toolbar(toolbar, "default") self.curvewidget.register_all_image_tools() self.curvewidget.plot.set_axis_title(BasePlot.X_BOTTOM, 'Frequency') self.addWidget(self.curvewidget) self.prog = QProgressBar() self.prog.setMaximumHeight(32) self.addWidget(self.prog) self.setStretchFactor(0, 0) self.setStretchFactor(1, 0) self.setStretchFactor(2, 1) self.setHandleWidth(10) self.setSizes([1, 5, 1]) if start_freq is None: start_freq = float( self.settings.value('spectrum/start_freq', 190e6)) if bandwidth is None: bandwidth = float(self.settings.value('spectrum/bandwidth', 50e6)) if numpts is None: numpts = int(self.settings.value('spectrum/num_samps', 6000)) print start_freq, bandwidth, numpts self.settings.setValue('spectrum/start_freq', start_freq) self.settings.setValue('spectrum/bandwidth', bandwidth) self.settings.setValue('spectrum/num_samps', numpts) self.bg7 = BG7(start_freq, bandwidth, numpts, sport=dev) self.reset_data() self.bg7.measurement_progress.connect(self.measurement_progress) self.bg7.measurement_complete.connect(self.measurement_complete) self.bg7.start()
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, parent, toolbar): QSplitter.__init__(self, parent) self.data_ref = None self.setContentsMargins(10, 10, 10, 10) self.setOrientation(Qt.Vertical) dsinfo = DSInfo(self) self.addWidget(dsinfo) dsproperties = DSProperties(self) self.addWidget(dsproperties) imagelistwithproperties = ImageListWithProperties(self) self.addWidget(imagelistwithproperties) self.imagelist = imagelistwithproperties.imagelist self.imagelist.currentRowChanged.connect(self.current_item_changed) self.imagelist.itemSelectionChanged.connect(self.selection_changed) self.ds = dsproperties.datas self.info = dsinfo.datas self.ds.SIG_APPLY_BUTTON_CLICKED.connect(self.properties_changed) self.properties = imagelistwithproperties.properties self.properties.SIG_APPLY_BUTTON_CLICKED.connect( self.properties_changed) self.imagewidget = CurveWidget(self) self.item = None self.flagitem = None self.flagname = "" self.imagewidget.add_toolbar(toolbar, "default") self.imagewidget.register_standard_tools() flag = create_action(self, _("Get preflag from file..."), icon=get_icon('eraser.png'), tip=_("Get a preflag from file"), triggered=self.preflag) fit = create_action(self, _("Open fit window..."), icon=get_icon('polyline.png'), tip=_("Open fit window"), triggered=self.fit_win) #apply = create_action(self, _("Apply fit file..."), # icon=get_icon('export.png'), tip=_("Apply fit file"), # triggered=self.apply_fit) add_actions(toolbar, [None, flag, fit]) self.addWidget(self.imagewidget) self.images = [] self.setStretchFactor(0, 0) self.setStretchFactor(1, 1) self.setHandleWidth(10) self.setSizes([50, 100, 200, 600])
def __init__(self, parent=None, title=None, xlabel=None, ylabel=None, xunit=None, yunit=None, section="plot", show_itemlist=False, gridparam=None, rtitle=None, rxlabel=None, rylabel=None, rxunit=None, ryunit=None, rsection="rplot", rgridparam=None, curve_antialiasing=None): QSplitter.__init__(self, Qt.Vertical, parent) self.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding) self.plot = CurvePlot(parent=self, title=title, xlabel=xlabel, ylabel=ylabel, xunit=xunit, yunit=yunit, section=section, gridparam=gridparam) self.rplot = CurvePlot(parent=self, title=rtitle, xlabel=rxlabel, ylabel=rylabel, xunit=rxunit, yunit=ryunit, section=section, gridparam=rgridparam) if curve_antialiasing is not None: self.plot.set_antialiasing(curve_antialiasing) self.rplot.set_antialiasing(curve_antialiasing) self.addWidget(self.plot) self.addWidget(self.rplot) self.itemlist = PlotItemList(self) self.itemlist.setVisible(show_itemlist) self.addWidget(self.itemlist) configure_plot_splitter(self)
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 __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=None, title=None, xlabel=None, ylabel=None, xunit=None, yunit=None, section="plot", show_itemlist=False, gridparam=None, curve_antialiasing=None): QSplitter.__init__(self, Qt.Horizontal, parent) self.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding) self.plot = CurvePlot(parent=self, title=title, xlabel=xlabel, ylabel=ylabel, xunit=xunit, yunit=yunit, section=section, gridparam=gridparam) if curve_antialiasing is not None: self.plot.set_antialiasing(curve_antialiasing) self.addWidget(self.plot) self.itemlist = PlotItemList(self) self.itemlist.setVisible(show_itemlist) self.addWidget(self.itemlist) configure_plot_splitter(self)
def __init__(self, parent, toolbar): QSplitter.__init__(self, parent) self.data_ref = None self.setContentsMargins(10, 10, 10, 10) self.setOrientation(Qt.Vertical) fitproperties = FitProperties(self) self.addWidget(fitproperties) self.fit_t = fitproperties.datas self.fit_t.SIG_APPLY_BUTTON_CLICKED.connect(self.properties_changed) self.imagewidget = CurveWidget2(self) #self.reswidget = CurveWidget(self) print self.imagewidget.synchronized_plots self.item = None self.fitem = None self.ritem = None self.flagitem = None self.imagewidget.add_toolbar(toolbar, "default") self.imagewidget.register_standard_tools() self.imagewidget.add_tool(RectZoomToolsig) self.imagewidget.plot.SIG_PLOT_AXIS_CHANGED.connect(self.sync_zoom) fitfile = create_action(self, _("Update fit file..."), icon=get_icon('fileopen.png'), tip=_("Update fit file"), triggered=self.fitfile) add_actions(toolbar, [fitfile]) self.addWidget(self.imagewidget) #self.addWidget(self.reswidget) self.fitc = None self.setStretchFactor(0, 0) self.setStretchFactor(1, 1) self.setHandleWidth(10) self.setSizes([100, 600, 100])
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=None): log_conf = get_logging_config() QSplitter.__init__(self, parent) self.setWindowTitle(MAIN_WINDOW_TITLE) self.setWindowIcon(get_icon("agent.svg")) self.sysTray = SystemTray(self) self.connect(self.sysTray, SIGNAL("activated(QSystemTrayIcon::ActivationReason)"), self.__icon_activated) checks = get_checks() datadog_conf = DatadogConf(get_config_path()) self.create_logs_files_windows(log_conf) listwidget = QListWidget(self) listwidget.addItems([ osp.basename(check.module_name).replace("_", " ").title() for check in checks ]) self.properties = PropertiesWidget(self) self.setting_button = QPushButton(get_icon("info.png"), "Logs and Status", self) self.menu_button = QPushButton(get_icon("settings.png"), "Actions", self) self.settings = [ ("Forwarder Logs", lambda: [ self.properties.set_log_file(self.forwarder_log_file), self.show_html(self.properties.group_code, self.properties. html_window, False) ]), ("Collector Logs", lambda: [ self.properties.set_log_file(self.collector_log_file), self.show_html(self.properties.group_code, self.properties. html_window, False) ]), ("Dogstatsd Logs", lambda: [ self.properties.set_log_file(self.dogstatsd_log_file), self.show_html(self.properties.group_code, self.properties. html_window, False) ]), ("JMX Fetch Logs", lambda: [ self.properties.set_log_file(self.jmxfetch_log_file), self.show_html(self.properties.group_code, self.properties. html_window, False) ]), ] if Platform.is_windows(): self.settings.extend([ ("Service Logs", lambda: [ self.properties.set_log_file(self.service_log_file), self.show_html(self.properties.group_code, self.properties. html_window, False) ]), ]) self.settings.extend([ ("Agent Status", lambda: [ self.properties.html_window.setHtml(self.properties.html_window .latest_status()), self.show_html(self.properties.group_code, self.properties. html_window, True), self.properties.set_status() ]), ]) self.agent_settings = QPushButton(get_icon("edit.png"), "Settings", self) self.connect( self.agent_settings, SIGNAL("clicked()"), lambda: [ self.properties.set_datadog_conf(datadog_conf), self.show_html(self.properties.group_code, self.properties. html_window, False) ]) self.setting_menu = SettingMenu(self.settings) self.connect( self.setting_button, SIGNAL("clicked()"), lambda: self.setting_menu.popup( self.setting_button.mapToGlobal(QPoint(0, 0)))) self.manager_menu = Menu(self) self.connect( self.menu_button, SIGNAL("clicked()"), lambda: self.manager_menu.popup( self.menu_button.mapToGlobal(QPoint(0, 0)))) holdingBox = QGroupBox("", self) Box = QVBoxLayout(self) Box.addWidget(self.agent_settings) Box.addWidget(self.setting_button) Box.addWidget(self.menu_button) Box.addWidget(listwidget) holdingBox.setLayout(Box) self.addWidget(holdingBox) self.addWidget(self.properties) self.connect(self.properties.enable_button, SIGNAL("clicked()"), lambda: enable_check(self.properties)) self.connect(self.properties.disable_button, SIGNAL("clicked()"), lambda: disable_check(self.properties)) self.connect(self.properties.save_button, SIGNAL("clicked()"), lambda: save_file(self.properties)) self.connect( self.properties.refresh_button, SIGNAL("clicked()"), lambda: [ self.properties.set_log_file(self.properties.current_file), self.properties.html_window.setHtml(self.properties.html_window .latest_status()) ]) self.connect( listwidget, SIGNAL('currentRowChanged(int)'), lambda row: [ self.properties.set_item(checks[row]), self.show_html(self.properties.group_code, self.properties. html_window, False) ]) listwidget.setCurrentRow(0) self.setSizes([150, 1]) self.setStretchFactor(1, 1) self.resize(QSize(950, 600)) self.properties.set_datadog_conf(datadog_conf) self.do_refresh()
def __init__(self, parent): QSplitter.__init__(self, parent) self.datas = DataSetEditGroupBox(_("Fit"), FitParam) self.addWidget(self.datas)
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, parent, settings, toolbar, start_freq, bandwidth, numpts, dev, lo, atten): QSplitter.__init__(self, parent) self.setContentsMargins(10, 10, 10, 10) self.setOrientation(Qt.Vertical) self.curvewidget = CurveWidget(self) self.item = {} self.points = [] self.max_hold = False self.do_log = True self.colours = ['b', 'r', 'c', 'y'] self.legend = None self.settings = settings self.lo = lo self.atten = atten print('pw', self.atten) self.curvewidget.add_toolbar(toolbar, "default") self.curvewidget.register_all_image_tools() self.curvewidget.add_tool(MarkerAnnotatedPointTool) self.curvewidget.plot.set_axis_title(BasePlot.X_BOTTOM, 'Frequency') self.curvewidget.plot.set_axis_title(BasePlot.Y_LEFT, 'Power') self.curvewidget.plot.set_axis_unit(BasePlot.Y_LEFT, 'dBm') self.addWidget(self.curvewidget) self.prog = QProgressBar() self.prog.setMaximumHeight(32) self.addWidget(self.prog) self.setStretchFactor(0, 0) self.setStretchFactor(1, 0) self.setStretchFactor(2, 1) self.setHandleWidth(10) self.setSizes([1, 5, 1]) if start_freq is None: start_freq = float( self.settings.value('spectrum/start_freq', 190e6)) if bandwidth is None: bandwidth = float(self.settings.value('spectrum/bandwidth', 50e6)) if numpts is None: numpts = int(self.settings.value('spectrum/num_samps', 6000)) print(start_freq, bandwidth, numpts, self.atten) default_cal_slope = 3.3 / ( 1024.0 * 16.44e-3) # 16.44mV/dB, 3.3 V supply to ADC, 10 bit ADC default_cal_icept = -89.0 # 0 ADC value = -89dBm self.cal_slope = self.settings.value('spectrum/cal_slope', default_cal_slope) self.cal_icept = self.settings.value('spectrum/cal_icept', default_cal_icept) self.settings.setValue('spectrum/start_freq', start_freq) self.settings.setValue('spectrum/bandwidth', bandwidth) self.settings.setValue('spectrum/num_samps', numpts) self.settings.setValue('spectrum/offset_freq', lo) #self.settings.setValue('spectrum/cal_slope', self.cal_slope) #self.settings.setValue('spectrum/cal_icept', self.cal_icept) print('Atten =', self.atten) self.bg7 = BG7(start_freq, bandwidth, numpts, self.atten, sport=dev) self.reset_data() self.bg7.measurement_progress.connect(self.measurement_progress) self.bg7.measurement_complete.connect(self.measurement_complete) self.bg7.start()
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=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, 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=None): QSplitter.__init__(self, parent) self.setWindowTitle(MAIN_WINDOW_TITLE) self.setWindowIcon(get_icon("agent.svg")) self.sysTray = SystemTray(self) self.connect(self.sysTray, SIGNAL("activated(QSystemTrayIcon::ActivationReason)"), self.__icon_activated) checks = get_checks() datadog_conf = DatadogConf(get_config_path(), description="Agent settings file: datadog.conf") self.forwarder_log_file = ForwarderLogFile() self.collector_log_file = CollectorLogFile() self.dogstatsd_log_file = DogstatsdLogFile() self.jmxfetch_log_file = JMXFetchLogFile() listwidget = QListWidget(self) listwidget.addItems([osp.basename(check.module_name).replace("_", " ").title() for check in checks]) self.properties = PropertiesWidget(self) self.setting_button = QPushButton(get_icon("info.png"), "Logs and Status", self) self.menu_button = QPushButton(get_icon("settings.png"), "Actions", self) self.settings = [ ( "Forwarder Logs", lambda: [ self.properties.set_log_file(self.forwarder_log_file), self.show_html(self.properties.group_code, self.properties.html_window, False), ], ), ( "Collector Logs", lambda: [ self.properties.set_log_file(self.collector_log_file), self.show_html(self.properties.group_code, self.properties.html_window, False), ], ), ( "Dogstatsd Logs", lambda: [ self.properties.set_log_file(self.dogstatsd_log_file), self.show_html(self.properties.group_code, self.properties.html_window, False), ], ), ( "JMX Fetch Logs", lambda: [ self.properties.set_log_file(self.jmxfetch_log_file), self.show_html(self.properties.group_code, self.properties.html_window, False), ], ), ( "Agent Status", lambda: [ self.properties.html_window.setHtml(self.properties.html_window.latest_status()), self.show_html(self.properties.group_code, self.properties.html_window, True), self.properties.set_status(), ], ), ] self.agent_settings = QPushButton(get_icon("edit.png"), "Settings", self) self.connect( self.agent_settings, SIGNAL("clicked()"), lambda: [ self.properties.set_datadog_conf(datadog_conf), self.show_html(self.properties.group_code, self.properties.html_window, False), ], ) self.setting_menu = SettingMenu(self.settings) self.connect( self.setting_button, SIGNAL("clicked()"), lambda: self.setting_menu.popup(self.setting_button.mapToGlobal(QPoint(0, 0))), ) self.manager_menu = Menu(self) self.connect( self.menu_button, SIGNAL("clicked()"), lambda: self.manager_menu.popup(self.menu_button.mapToGlobal(QPoint(0, 0))), ) holdingBox = QGroupBox("", self) Box = QVBoxLayout(self) Box.addWidget(self.agent_settings) Box.addWidget(self.setting_button) Box.addWidget(self.menu_button) Box.addWidget(listwidget) holdingBox.setLayout(Box) self.addWidget(holdingBox) self.addWidget(self.properties) self.connect(self.properties.enable_button, SIGNAL("clicked()"), lambda: enable_check(self.properties)) self.connect(self.properties.disable_button, SIGNAL("clicked()"), lambda: disable_check(self.properties)) self.connect(self.properties.save_button, SIGNAL("clicked()"), lambda: save_file(self.properties)) self.connect( self.properties.refresh_button, SIGNAL("clicked()"), lambda: [ self.properties.set_log_file(self.properties.current_file), self.properties.html_window.setHtml(self.properties.html_window.latest_status()), ], ) self.connect( listwidget, SIGNAL("currentRowChanged(int)"), lambda row: [ self.properties.set_item(checks[row]), self.show_html(self.properties.group_code, self.properties.html_window, False), ], ) listwidget.setCurrentRow(0) self.setSizes([150, 1]) self.setStretchFactor(1, 1) self.resize(QSize(950, 600)) self.properties.set_datadog_conf(datadog_conf) self.do_refresh()
def __init__(self, parent): QSplitter.__init__(self, parent) self.datas = DataSetShowGroupBox(_("Current"), InfoData) self.addWidget(self.datas)
def __init__(self, parent, toolbar): QSplitter.__init__(self, parent) # Define csvModel 提供csv處理的Model self.csvmodel = CsvFileModel() self.selectedRow = -1 #connect error message self.connect(self.csvmodel, SIGNAL("ERROR_NOT_NONAME_ARRAY"), partial(self.showErrorMessage, "NOT_NONAME_ARRAY")) # 連接csvlist與製造ImageListWithProperties imagelistwithproperties = ImageListWithProperties(self) self.addWidget(imagelistwithproperties) self.csvlist = imagelistwithproperties.csvlist self.connect(imagelistwithproperties, SIGNAL("PLOT"), partial(self.csvmodel.plotCSV, self.csvlist)) self.connect(imagelistwithproperties, SIGNAL("REMOVE"), partial(self.csvmodel.removeCSV, self.csvlist)) self.connect(imagelistwithproperties, SIGNAL("EXTRACT_ARRAY"), partial(self.csvmodel.extractArray, self.csvlist)) # View signal connect self.connect(self.csvlist, SIGNAL("itemDoubleClicked(QListWidgetItem*)"), partial(self.csvmodel.plotCSV, self.csvlist)) self.connect(self.csvlist, SIGNAL("currentRowChanged(int)"), self.current_item_changed) self.connect(self.csvlist, SIGNAL("itemSelectionChanged()"), self.selection_changed) self.properties = imagelistwithproperties.properties self.connect(self.properties, SIGNAL("apply_button_clicked()"), self.properties_changed) # CsvModel signal connect self.connect(self.csvmodel, SIGNAL("CSV_UPDATED"), self.refresh_list) self.connect(self.csvmodel, SIGNAL("ARRAY_UPDATED"), self.refresh_array_list) # 製造ArrayListWithProperties self.arraylistwithproperties = ArrayListWithProperties(self) self.arraylist = self.arraylistwithproperties.arraylist self.addWidget(self.arraylistwithproperties) self.connect(self.arraylistwithproperties, SIGNAL("PASTE_NO_NAME"), partial(self.csvmodel.pasteArrayNoName, self.arraylist)) self.connect(self.arraylistwithproperties, SIGNAL("PASTE_WITH_NAME"), partial(self.csvmodel.pasteArrayWithName, self.arraylist)) self.connect(self.arraylistwithproperties, SIGNAL("PLOT"), partial(self.csvmodel.plotArray, self.arraylist)) self.connect(self.arraylistwithproperties, SIGNAL("MODIFY_ARRAY"), partial(self.csvmodel.modifyArray, self.arraylist)) self.connect(self.arraylistwithproperties, SIGNAL("PLOT_SCATTER"), partial(self.csvmodel.plotScatter, self.arraylist)) self.connect(self.arraylistwithproperties, SIGNAL("PLOT_HISTOGRAM"), self.plotHist) self.connect(self.arraylistwithproperties, SIGNAL("REMOVE"), partial(self.csvmodel.removeArray, self.arraylist)) self.connect(self.arraylistwithproperties, SIGNAL("OPEN_CURVEDIALOG"), self.openCurveDialog) #arraylist action signal self.connect(self.arraylist, SIGNAL("currentRowChanged(int)"), self.array_current_item_changed) self.arrayproperties = self.arraylistwithproperties.properties self.connect(self.arrayproperties, SIGNAL("apply_button_clicked()"), self.array_properties_changed) self.connect(self.arraylist, SIGNAL("itemSelectionChanged()"), self.array_selection_changed) self.connect(self.arraylist, SIGNAL("itemDoubleClicked(QListWidgetItem*)"), partial(self.csvmodel.plotArray, self.arraylist)) # 設定基本properity self.setContentsMargins(10, 10, 10, 10) self.setOrientation(Qt.Vertical) self.setStretchFactor(0, 0) self.setStretchFactor(1, 1) self.setHandleWidth(10) self.setSizes([1, 2])
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.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()