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=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, 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): 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.lineList = QListWidget(self) # self.addWidget(self.lineList) self.properties = DataSetEditGroupBox(_("Properties"), DAQParam) self.properties.setEnabled(True) self.addWidget(self.properties)
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): 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.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): 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, 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): # 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.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.connect(self.groupbox3, SIGNAL("apply_button_clicked()"), 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, 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 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 _generateFrame(self): ''' Return the frame containing the presentation, check if the frame was created, otherwise it is created :return: ''' # generate the frame if necessary if self._frame is None: # Generate frame and define the layout based on the frame self._frame = QFrame(self._parentFrame) _layout = QVBoxLayout() self._frame.setLayout(_layout) # Add the "Main" group box for this view, if present. It is rendered in foreground if self._generateGroupBox() is not None: _layout.addWidget(self._groupbox) else: self._frame.setFrameStyle(QFrame.Panel|QFrame.Raised) self._frame.setLineWidth(1) # Add to layout eventually the other subview if self._viewtype == 'Tabs': _tabs = QTabWidget() _layout.addWidget(_tabs) elif self._viewtype == 'Splitter': _splitter =QSplitter() _layout.addWidget(_splitter) else: _sub_frame = QFrame() _sub_frame_layout = QHBoxLayout() _sub_frame.setLayout(_sub_frame_layout) _layout.addWidget(_sub_frame) # Add all the sub view as sub frames in the layout for sw in self._subViewDictionary.values(): sw.setParentView(self._frame) if self._viewtype == 'Tabs': _tabs.addTab(sw.getFrame(), sw.viewname) elif self._viewtype == 'Splitter': _splitter.addWidget(sw.getFrame()) else: _sub_frame_layout.addWidget(sw.getFrame()) return self._frame
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, 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, 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): 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, 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.datas = DataSetEditGroupBox(_("Fit"), FitParam) self.addWidget(self.datas)
def __init__(self, parent): QSplitter.__init__(self, parent) DSParam.__init__ self.datas = DataSetEditGroupBox(_("Dataset"), DSParam) self.addWidget(self.datas)
class BaseImageWidget(QSplitter): """ Construct a BaseImageWidget object, which includes: * A plot (:py:class:`guiqwt.curve.CurvePlot`) * An `item list` panel (:py:class:`guiqwt.curve.PlotItemList`) * A `contrast adjustment` panel (:py:class:`guiqwt.histogram.ContrastAdjustment`) * An `X-axis cross section` panel (:py:class:`guiqwt.histogram.XCrossSection`) * An `Y-axis cross section` panel (:py:class:`guiqwt.histogram.YCrossSection`) This object does nothing in itself because plot and panels are not connected to each other. See children class :py:class:`guiqwt.plot.ImageWidget` """ 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 adjust_ycsw_height(self, height=None): if height is None: height = self.xcsw.height() - self.ycsw.toolbar.height() self.ycsw.adjust_height(height) if height: QApplication.processEvents() def xcsw_is_visible(self, state): if state: QApplication.processEvents() self.adjust_ycsw_height() else: self.adjust_ycsw_height(0)
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): # 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("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 show(self): QSplitter.show(self) self.raise_()
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=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()
class BaseImageWidget(QSplitter): """ Construct a BaseImageWidget object, which includes: * A plot (:py:class:`guiqwt.curve.CurvePlot`) * An `item list` panel (:py:class:`guiqwt.curve.PlotItemList`) * A `contrast adjustment` panel (:py:class:`guiqwt.histogram.ContrastAdjustment`) * An `X-axis cross section` panel (:py:class:`guiqwt.histogram.XCrossSection`) * An `Y-axis cross section` panel (:py:class:`guiqwt.histogram.YCrossSection`) This object does nothing in itself because plot and panels are not connected to each other. See children class :py:class:`guiqwt.plot.ImageWidget` """ 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 adjust_ycsw_height(self, height=None): if height is None: height = self.xcsw.height()-self.ycsw.toolbar.height() self.ycsw.adjust_height(height) if height: QApplication.processEvents() def xcsw_is_visible(self, state): if state: QApplication.processEvents() self.adjust_ycsw_height() else: self.adjust_ycsw_height(0)
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 = DataSetShowGroupBox(_("Current"), InfoData) self.addWidget(self.datas)
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()