def __init__(self): QMainWindow.__init__(self) self.setWindowIcon(get_icon(os.path.join(APP_RESOURCES, 'icons', 'python.png'))) self.setupUi(self) # Redirect output to GUI's QTextEdit sys.stdout = OutLog(self.outputTextEdit, sys.stdout) sys.stderr = OutLog(self.outputTextEdit, sys.stderr, QColor(255,0,0) ) settings = QSettings() size = settings.value("MainWindow/Size", QVariant(QSize(600, 500))).toSize() self.resize(size) position = settings.value("MainWindow/Position", QVariant(QPoint(0, 0))).toPoint() self.move(position) self.restoreState( settings.value("MainWindow/State").toByteArray()) self.logger = Logger('Zupport.GUIloader') self.logger.debugging = settings.value("Logging/debugging").toBool() # Set up a ZupportManager to deal with the plugins self.manager = Manager(self) self.plugins = {} # Set up the extents menu self.extent = ExtentContainer() self.menuExtent = QMenu("Extent") resolutions = self.extent.resolutions self.extenactiongroup = QActionGroup(self.menuExtent) noneaction = QAction("None", self.menuExtent) self.extenactiongroup.addAction(noneaction) self.menuExtent.addAction(noneaction) for resolution in resolutions: resolution_text = str(resolution) submenu = self.menuExtent.addMenu(resolution_text) self.menuExtent.addMenu(submenu) for area in self.extent.get_names(resolution): subaction = QAction(str(area) + ": %s" % resolution_text, submenu) subaction.setCheckable(True) self.extenactiongroup.addAction(subaction) submenu.addAction(subaction) noneaction.isChecked() self.menuSettings.addMenu(self.menuExtent) self.actionDebugging_messages.setChecked(self.logger.debugging) self.setWindowTitle("Zupport GUI") self.load_tools() self.toolTreeWidget.itemSelectionChanged.connect(self.update_ui) self.actionDebugging_messages.toggled.connect(self._set_debugging) self.menuExtent.triggered.connect(self.update_ui) self.actionLoad_tool.triggered.connect(self.show_tool_gui) self.toolTreeWidget.doubleClicked.connect(self.show_tool_gui)
def __init__(self): QMainWindow.__init__(self) icons = myIcons() self.getIcon = icons.getIcon self.setWindowTitle('IRAM GUI') self.resize(QSize(1200, 800)) self.setWindowIcon(self.getIcon('Jupiter')) self.measurements = None self.centralwidget = CentralWidget(self) self.setCentralWidget(self.centralwidget) self.HKvalues = self.centralwidget.HKvalues self.Controlvalues = self.centralwidget.Controlvalues self.sBar = self.centralwidget.sBar self.init = False self.running = False self.measureThread = measure(self) self.timer = QTimer() self.timer.timeout.connect(self.updateTimer) self.timer.start(200) self.time = localtime() self.closeEvent = self.closeApp
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, reset=False, start_freq=None, bandwidth=None, numpts=None, max_hold=None): QMainWindow.__init__(self) self.settings = QSettings("Darkstar007", "signal_generator") if reset: self.settings.clear() self.setup(start_freq, bandwidth, numpts, max_hold)
def __init__(self): QMainWindow.__init__(self) self.setWindowTitle("Test") a = 600 self.resize(int(a), int(a / 1.338)) hlayout = QHBoxLayout() central_widget = QWidget(self) central_widget.setLayout(hlayout) self.setCentralWidget(central_widget)
def __init__(self, wintitle="guiqwt plot", icon="guiqwt.svg", toolbar=False, options=None, parent=None, panels=None): if PYQT5: super(CurveWindow, self).__init__(parent, wintitle=wintitle, icon=icon, toolbar=toolbar, options=options, panels=panels) else: QMainWindow.__init__(self, parent) CurveWidgetMixin.__init__(self, wintitle=wintitle, icon=icon, toolbar=toolbar, options=options, panels=panels)
def __init__(self): QMainWindow.__init__(self) self.setWindowTitle("Signal filtering 2 (guiqwt)") self.setWindowIcon(get_icon('guiqwt.svg')) hlayout = QHBoxLayout() central_widget = QWidget(self) central_widget.setLayout(hlayout) self.setCentralWidget(central_widget) #---guiqwt plot manager self.manager = PlotManager(self)
def __init__(self, start_freq, bandwidth, numpts, bg7dev, mdev, max_cycle_count=5, atten_step=2): QMainWindow.__init__(self) self.setWindowIcon(get_icon('python.png')) self.setWindowTitle(APP_NAME + ' ' + VERS + ' Running on ' + bg7dev + ' & ' + mdev) dt = QDesktopWidget() print(dt.numScreens(), dt.screenGeometry()) sz = dt.screenGeometry() self.resize(QSize(sz.width() * 6 / 10, 256)) # Welcome message in statusbar: status = self.statusBar() status.showMessage( _("Welcome to the NetworkAnalyser Calibration application!"), 5000) self.prog = QProgressBar(self) self.prog.setMaximumHeight(32) self.mainwidget = self.prog self.prog.show() self.bg7 = BG7(start_freq, bandwidth, numpts, sport=bg7dev) self.reset_data() self.fp_micro = serial.Serial(mdev, 115200, timeout=4) self.bg7.measurement_progress.connect(self.measurement_progress) self.bg7.measurement_complete.connect(self.measurement_complete) self.fname = 'cal_' + str(start_freq) + '_' + str( bandwidth) + '_' + str(numpts) + '.pkl' self.max_cycle_count = max_cycle_count self.max_atten_val = 62 self.atten_val = 0 self.atten_step = atten_step self.update_atten() self.count_data = 0 self.show() self.bg7.start() print('done BG7 start')
def __init__(self): QMainWindow.__init__(self) icons = myIcons() self.getIcon = icons.getIcon self.setWindowTitle('IRAM GUI') self.resize(QSize(1200, 800)) self.setWindowIcon(self.getIcon('Jupiter')) self.measurements = None self.centralwidget = CentralWidget(self) self.setCentralWidget(self.centralwidget) self.HKvalues = self.centralwidget.HKvalues self.Controlvalues = self.centralwidget.Controlvalues self.sBar = self.centralwidget.sBar self.init = False self.running = False try: self.dbr = dbr() self.dbr.init() except: self.dum_dbr = dummy_hardware('DBR') self.dum_dbr.init() try: self.sensors = sensors() self.sensors.init() except: self.dum_HK = dummy_hardware('HOUSEKEEPING') self.dum_HK.init() try: self.chopper = chopper() self.chopper.init() except: self.dum_chop = dummy_hardware('CHOPPER') self.dum_chop.init() self.measureThread = measure(self) self.timer = QTimer() self.timer.timeout.connect(self.updateTimer) self.timer.start(200) self.time = localtime() self.closeEvent = self.closeApp
def __init__(self): QMainWindow.__init__(self) self.setWindowIcon(get_icon('python.png')) self.setWindowTitle("Application example") # Instantiate dataset-related widgets: self.groupbox1 = DataSetShowGroupBox("Activable dataset", ExampleDataSet, comment='') self.groupbox2 = DataSetShowGroupBox("Standard dataset", AnotherDataSet, comment='') self.groupbox3 = DataSetEditGroupBox("Standard dataset", OtherDataSet, comment='') self.groupbox4 = DataSetEditGroupBox("Standard dataset", ExampleMultiGroupDataSet, comment='') self.groupbox3.SIG_APPLY_BUTTON_CLICKED.connect(self.update_window) self.update_groupboxes() splitter = QSplitter(self) splitter.addWidget(self.groupbox1) splitter.addWidget(self.groupbox2) splitter.addWidget(self.groupbox3) splitter.addWidget(self.groupbox4) self.setCentralWidget(splitter) self.setContentsMargins(10, 5, 10, 5) # File menu file_menu = self.menuBar().addMenu("File") quit_action = create_action(self, "Quit", shortcut="Ctrl+Q", icon=get_std_icon("DialogCloseButton"), tip="Quit application", triggered=self.close) add_actions(file_menu, (quit_action, )) # Edit menu edit_menu = self.menuBar().addMenu("Edit") editparam1_action = create_action(self, "Edit dataset 1", triggered=self.edit_dataset1) editparam2_action = create_action(self, "Edit dataset 2", triggered=self.edit_dataset2) editparam4_action = create_action(self, "Edit dataset 4", triggered=self.edit_dataset4) add_actions(edit_menu, (editparam1_action, editparam2_action, editparam4_action))
def __init__(self): QMainWindow.__init__(self) self.setWindowIcon(get_icon('python.png')) self.setWindowTitle("P3 Ctrl") # Instantiate dataset-related widgets: self.group1 = DataSetEditGroupBox("Activable dataset", Processing, comment='') self.group1.SIG_APPLY_BUTTON_CLICKED.connect(self.group1._items[0].hi) splitter = QSplitter(self) splitter.addWidget(self.group1) self.setCentralWidget(splitter) self.setContentsMargins(10, 5, 10, 5)
def __init__(self, reset=False, start_freq=None, bandwidth=None, numpts=None, max_hold=None, dev='/dev/ttyUSB0'): QMainWindow.__init__(self) self.settings = QSettings("Darkstar007", "networkanalyser") if reset: self.settings.clear() self.file_dir = self.settings.value('spectrum/file_dir', os.getenv('HOME')) print 'File dir', self.file_dir self.dev = dev self.setup(start_freq, bandwidth, numpts, max_hold)
def __init__(self): QMainWindow.__init__(self) for p in sys.path: if exists(p + '/data/DW.png'): icon_path = p + '/data/DW.png' break if exists(p + '/dw/data/DW.png'): icon_path = p + '/dw/data/DW.png' break self.setWindowIcon(get_icon(icon_path)) self.setWindowTitle(APP_NAME) self.resize(QSize(1024, 768)) self.data = None
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): # 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): QMainWindow.__init__(self) filename = osp.join(osp.dirname(__file__), "brain.png") image1 = make.image(filename=filename, title="Original", colormap='gray') from guiqwt.tests.image import compute_image image2 = make.image(compute_image()) widget = CentralWidget(self) self.setCentralWidget(widget) widget.plot1.add_item(image1) widget.plot2.add_item(image2) toolbar = self.addToolBar("tools") widget.manager.add_toolbar(toolbar, id(toolbar)) # widget.manager.set_default_toolbar(toolbar) widget.register_tools()
def __init__(self): QMainWindow.__init__(self) self.setWindowTitle("Application example") file_menu = self.menuBar().addMenu("File") quit_action = create_action(self, "Quit", shortcut="Ctrl+Q", icon=get_std_icon("DialogCloseButton"), tip="Quit application", triggered=self.close) add_actions(file_menu, (quit_action,)) edit_menu = self.menuBar().addMenu("Edit") self.groupbox = DataSetEditGroupBox("Standard dataset", OtherDataSet, comment='') self.groupbox.SIG_APPLY_BUTTON_CLICKED.connect(self.update_window) self.display = DataSetEditGroupBox("Read-only dataset", OtherDataSet, comment='') splitter = QSplitter(self) splitter.addWidget(self.groupbox) self.setCentralWidget(splitter) self.setContentsMargins(10, 5, 10, 5)
def __init__(self): QMainWindow.__init__(self) icons = myIcons() self.getIcon = icons.getIcon self.setWindowTitle('WVR GUI') self.resize(QSize(1200, 800)) self.setWindowIcon(self.getIcon('spectrum')) self.measurements = None self.centralwidget = CentralWidget(self) self.oem = oemWidget(self.centralwidget.tabs, [21, 23]) self.setCentralWidget(self.centralwidget) self.HKvalues = self.centralwidget.HKvalues self.Controlvalues = self.centralwidget.Controlvalues self.sBar = self.centralwidget.sBar self.init = False self.running = False self.oeminit = False self.oemrunning = False self.oemThread = measure2(self.oem) self.measureThread = measure(self) self.timer = QTimer() self.timer.timeout.connect(self.updateTimer) self.timer.start(200) self.time = localtime() self.closeEvent = self.closeApp self._Tc = 0 self._Th = 0
def __init__(self): """Instantiate the main window and setup some parameter""" QMainWindow.__init__(self) for p in sys.path: if exists(p + '/data/'): self.icon_path = p + '/data/' break if exists(p + '/dw/data/'): self.icon_path = p + '/dw/data/' break self.setWindowIcon(get_icon(self.icon_path + 'DW.png')) self.setWindowTitle(APP_NAME) self.resize(QSize(1024, 768)) # Welcome message in statusbar: status = self.statusBar() status.showMessage(_("Welcome to Dish Washer! Open a file to start."), 7000) # File menu & Main toolbar self.set_menu() # Set central widget: self.toolbar = self.addToolBar("Image")
def __init__(self): QMainWindow.__init__(self) self.setWindowTitle(APP_NAME) self.setWindowIcon(get_icon('python.png')) self.timeout = None # used to recognise the checkbox in settings self.bhpacketname = { 'RR':0, 'BREATHING':1, 'ECG':2, 'SUMMARY':3, 'ACC':4, } # Welcome message in statusbar: status = self.statusBar() status.showMessage(_("Zephyr BioHarness 3.0"), 5000) self._setup_layout() self._setup_menu() self._load_settings() self._init_objects() self.show()
def __init__(self): QMainWindow.__init__(self) self.setWindowIcon(get_icon('python.png')) self.setWindowTitle("Stroke Work Estimation") pal = QtGui.QPalette() role = QtGui.QPalette.Background pal.setColor(role, QtGui.QColor(255, 255, 255)) self.setPalette(pal) self.textEdit = QtGui.QLabel('None') self.loadButton = QtGui.QPushButton("Compute") self.loadButton.clicked.connect(self.on_click) self.buttonSave = QtGui.QPushButton('Clear Plot', self) self.buttonSave.clicked.connect(self.clearPlots) self.dropDownMenu = QtGui.QComboBox() self.dropDownMenu.addItems( ["Vao", "Vvc", "Vpa", "Vpu", "Vlv", "Vrv", "all"]) self.table1 = QtGui.QTableWidget() self.table2 = QtGui.QTableWidget() self.fileName = '' self.lastClicked = [] self.number_plots = 0 self.pw1 = PG.PlotWidget(name='VTC') self.pw1.setLabel('left', 'Pressure', units='mmHg') self.pw1.setLabel('bottom', 'Volume', units='mL') self.pw1.setBackground((255, 255, 255)) self.pw2 = PG.PlotWidget(name='VTC') self.pw2.setBackground((255, 255, 255)) self.pw2.setLabel('left', 'Pressure', units='mmHg') self.pw2.setLabel('bottom', 'Time', units='s') self.pw3 = PG.PlotWidget(name='PV') self.pw3.setBackground((255, 255, 255)) self.pw3.setLabel('left', 'Pressure', units='mmHg') self.pw3.setLabel('bottom', 'Volume', units='ml') #horizontalLayout = QtGui.QHBoxLayout(self) splitter = QSplitter(QtCore.Qt.Vertical) splitter2 = QSplitter(QtCore.Qt.Vertical) splitterH = QSplitter(QtCore.Qt.Horizontal) #splitter.addWidget(self.dropDownMenu) splitter.addWidget(self.loadButton) splitter.addWidget(self.pw1) splitter.addWidget(self.pw2) # splitter.addWidget(self.pw3) splitter2.addWidget(self.table1) splitter2.addWidget(self.table2) splitter2.addWidget(self.buttonSave) splitterH.addWidget(splitter) splitterH.addWidget(splitter2) self.table1.setRowCount(9) self.table1.setColumnCount(2) self.table2.setRowCount(11) self.table2.setColumnCount(2) self.table1.setItem(0, 0, QtGui.QTableWidgetItem("Eao")) self.table1.setItem(0, 1, QtGui.QTableWidgetItem("1.0")) self.table1.setItem(1, 0, QtGui.QTableWidgetItem("Evc")) self.table1.setItem(1, 1, QtGui.QTableWidgetItem("1.0")) self.table1.setItem(2, 0, QtGui.QTableWidgetItem("Rmt")) self.table1.setItem(2, 1, QtGui.QTableWidgetItem("0.1")) self.table1.setItem(3, 0, QtGui.QTableWidgetItem("Rao")) self.table1.setItem(3, 1, QtGui.QTableWidgetItem("0.1")) self.table1.setItem(5, 0, QtGui.QTableWidgetItem("P max")) self.table1.setItem(5, 1, QtGui.QTableWidgetItem("100")) self.table1.setItem(6, 0, QtGui.QTableWidgetItem("V max")) self.table1.setItem(6, 1, QtGui.QTableWidgetItem("100")) self.table1.setItem(7, 0, QtGui.QTableWidgetItem("V min")) self.table1.setItem(7, 1, QtGui.QTableWidgetItem("70")) self.table1.setItem(8, 0, QtGui.QTableWidgetItem("T")) self.table1.setItem(8, 1, QtGui.QTableWidgetItem("0.5")) #### self.table2.setItem(0, 0, QtGui.QTableWidgetItem("SW 1")) self.table2.setItem(0, 1, QtGui.QTableWidgetItem("-")) self.table2.setItem(1, 0, QtGui.QTableWidgetItem("SW 2")) self.table2.setItem(1, 1, QtGui.QTableWidgetItem("-")) self.table2.setItem(2, 0, QtGui.QTableWidgetItem("SW 3")) self.table2.setItem(2, 1, QtGui.QTableWidgetItem("-")) self.table2.setItem(4, 0, QtGui.QTableWidgetItem("Elv")) self.table2.setItem(4, 1, QtGui.QTableWidgetItem("-")) self.table2.setItem(5, 0, QtGui.QTableWidgetItem("Rsys")) self.table2.setItem(5, 1, QtGui.QTableWidgetItem("-")) self.table2.setItem(6, 0, QtGui.QTableWidgetItem("SBV")) self.table2.setItem(6, 1, QtGui.QTableWidgetItem("-")) self.table2.setItem(8, 0, QtGui.QTableWidgetItem("error")) self.table2.setItem(8, 1, QtGui.QTableWidgetItem("-")) self.setCentralWidget(splitterH) self.setContentsMargins(10, 5, 10, 5) self.setGeometry(100, 100, 1000, 800) # File menu file_menu = self.menuBar().addMenu("File") quit_action = create_action(self, "Quit", shortcut="Ctrl+Q", icon=get_std_icon("DialogCloseButton"), tip="Quit application", triggered=self.close) add_actions(file_menu, (quit_action, ))
def __init__(self): QMainWindow.__init__(self) self.setWindowIcon(get_icon('python.png')) self.setWindowTitle("PV Loop Simulation") pal = QtGui.QPalette() role = QtGui.QPalette.Background pal.setColor(role, QtGui.QColor(255, 255, 255)) self.setPalette(pal) self.textEdit = QtGui.QLabel('None') self.loadButton = QtGui.QPushButton("Load") self.loadButton.clicked.connect(self.on_click) self.buttonSave = QtGui.QPushButton('Clear Plot', self) self.buttonSave.clicked.connect(self.clearPlots) #self.connect(self.smoothGB, SIGNAL("apply_button_clicked()"), #self.update_window) self.table1 = QtGui.QTableWidget() self.table2 = QtGui.QTableWidget() self.fileName = '' self.lastClicked = [] self.number_plots = 0 self.pw1 = PG.PlotWidget(name='VTC') self.pw1.setLabel('left', 'Volume', units='mL') self.pw1.setLabel('bottom', 'Time', units='s') self.pw1.setBackground((255, 255, 255)) self.pw2 = PG.PlotWidget(name='VTC') self.pw2.setBackground((255, 255, 255)) self.pw2.setLabel('left', 'Pressure', units='mmHg') self.pw2.setLabel('bottom', 'Time', units='s') self.pw3 = PG.PlotWidget(name='PV') self.pw3.setBackground((255, 255, 255)) self.pw3.setLabel('left', 'Pressure', units='mmHg') self.pw3.setLabel('bottom', 'Volume', units='ml') #horizontalLayout = QtGui.QHBoxLayout(self) splitter = QSplitter(QtCore.Qt.Vertical) splitter2 = QSplitter(QtCore.Qt.Vertical) splitterH = QSplitter(QtCore.Qt.Horizontal) splitter.addWidget(self.loadButton) splitter.addWidget(self.pw1) splitter.addWidget(self.pw2) splitter.addWidget(self.pw3) splitter2.addWidget(self.table1) splitter2.addWidget(self.table2) splitter2.addWidget(self.buttonSave) splitterH.addWidget(splitter) splitterH.addWidget(splitter2) self.table1.setRowCount(5) self.table1.setColumnCount(2) self.table2.setRowCount(8) self.table2.setColumnCount(2) self.table1.setItem(0, 0, QtGui.QTableWidgetItem("Number of Loops [-]")) self.table1.setItem(0, 1, QtGui.QTableWidgetItem("4")) self.table1.setItem(1, 0, QtGui.QTableWidgetItem("HR [bpm]")) self.table1.setItem(1, 1, QtGui.QTableWidgetItem("70")) self.table1.setItem(2, 0, QtGui.QTableWidgetItem("V (LV) start [ml]")) self.table1.setItem(2, 1, QtGui.QTableWidgetItem("135")) self.table1.setItem(3, 0, QtGui.QTableWidgetItem("Pa start [mmHg]")) self.table1.setItem(3, 1, QtGui.QTableWidgetItem("96")) self.table1.setItem(4, 0, QtGui.QTableWidgetItem("Pv start [mmHg]")) self.table1.setItem(4, 1, QtGui.QTableWidgetItem("6")) self.table2.setItem(0, 0, QtGui.QTableWidgetItem("Rp")) self.table2.setItem(0, 1, QtGui.QTableWidgetItem("1.3")) self.table2.setItem(1, 0, QtGui.QTableWidgetItem("Ra")) self.table2.setItem(1, 1, QtGui.QTableWidgetItem("0.1")) self.table2.setItem(2, 0, QtGui.QTableWidgetItem("Rin")) self.table2.setItem(2, 1, QtGui.QTableWidgetItem("0.08782")) self.table2.setItem(3, 0, QtGui.QTableWidgetItem("Ca")) self.table2.setItem(3, 1, QtGui.QTableWidgetItem("1.601")) self.table2.setItem(4, 0, QtGui.QTableWidgetItem("Cv")) self.table2.setItem(4, 1, QtGui.QTableWidgetItem("1.894")) self.table2.setItem(5, 0, QtGui.QTableWidgetItem("Vd")) self.table2.setItem(5, 1, QtGui.QTableWidgetItem("1.123")) self.table2.setItem(6, 0, QtGui.QTableWidgetItem("Emax")) self.table2.setItem(6, 1, QtGui.QTableWidgetItem("1.5")) self.table2.setItem(7, 0, QtGui.QTableWidgetItem("Emin")) self.table2.setItem(7, 1, QtGui.QTableWidgetItem("0.037")) self.setCentralWidget(splitterH) self.setContentsMargins(10, 5, 10, 5) self.setGeometry(100, 100, 1000, 800) # File menu file_menu = self.menuBar().addMenu("File") quit_action = create_action(self, "Quit", shortcut="Ctrl+Q", icon=get_std_icon("DialogCloseButton"), tip="Quit application", triggered=self.close) add_actions(file_menu, (quit_action, ))
def __init__(self, parent=None): QMainWindow.__init__(self, parent) self.thoth = Thoth() self._setup() self.file_menu_action = [] self.console = None
def __init__(self): QMainWindow.__init__(self) self.stage = None self.stopOsci = False self.stopMeasure = False self.setWindowTitle(APP_NAME) ############### # Powermeter record curveplot_toolbar = self.addToolBar(_("Curve Plotting Toolbar")) self.curveWidget1 = DockablePlotWidget(self, CurveWidget, curveplot_toolbar) self.curveWidget1.calcFun.addFun('s', lambda x: x, lambda x: x) self.curveWidget1.calcFun.addFun('min', lambda x: x / 60, lambda x: x * 60) self.curveWidget1.calcFun.addFun('hour', lambda x: x / 3600, lambda x: x * 3600) plot1 = self.curveWidget1.get_plot() self.signal1 = SignalFT(self, plot=plot1) ############## # Main window widgets self.tabwidget = DockableTabWidget(self) #self.tabwidget.setMaximumWidth(500) self.maestroUi = MaestroUi(self) self.fileUi = FileUi(self) self.tabwidget.addTab(self.maestroUi, QIcon('icons/Handyscope_HS4.png'), _("Maestro")) self.tabwidget.addTab(self.fileUi, get_icon('filesave.png'), _('File')) self.add_dockwidget(self.tabwidget, _("Inst. sett.")) # self.setCentralWidget(self.tabwidget) self.dock1 = self.add_dockwidget(self.curveWidget1, title=_("Powermeter")) ################ # connect signals self.maestroUi.newPlotData.connect(self.signal1.updatePlot) self.curveWidget1.calcFun.idxChanged.connect(self.signal1.funChanged) self.fileUi.saveTxtBtn.released.connect(self.saveDataTxt) self.fileUi.saveHdfBtn.released.connect(self.saveDataHDF5) ''' self.piUi.startScanBtn.released.connect(self.startMeasureThr) self.piUi.stopScanBtn.released.connect(self.stopMeasureThr) self.piUi.xAxeChanged.connect(self.tdSignal.updateXAxe) self.piUi.xAxeChanged.connect(self.fdSignal.updateXAxe) self.piUi.niceBtn.released.connect(self.showMakeNicerWidget) self.tiepieUi.scpConnected.connect(self.startOsciThr) self.tiepieUi.xAxeChanged.connect(self.osciSignal.updateXAxe) self.tiepieUi.yAxeChanged.connect(self.osciSignal.updateYAxe) self.tiepieUi.triggLevelChanged.connect(self.osciSignal.setHCursor) #self.piUi.centerBtn.released.connect( # lambda x=None: self.piUi.setCenter(self.tdSignal.getVCursor())) self.tdSignal.plot.SIG_MARKER_CHANGED.connect( lambda x=None: self.piUi.newOffset(self.tdSignal.getVCursor())) self.tdWidget.calcFun.idxChanged.connect(self.tdSignal.funChanged) self.fdWidget.calcFun.idxChanged.connect(self.fdSignal.funChanged) self.updateOsciPlot.connect(self.osciSignal.updatePlot) self.updateTdPlot.connect(self.tdSignal.updatePlot) self.updateFdPlot.connect(lambda data: self.fdSignal.updatePlot(self.fdSignal.computeFFT(data))) ''' ################ # create threads #self.osciThr = GenericThread(self.getOsciData) ''' self.osciThr = QThread() self.osciThr.start() self.osciWorker = GenericWorker(self.getOsciData) self.osciWorker.moveToThread(self.osciThr) #self.measureThr = GenericThread(self.getMeasureData) self.measureThr = QThread() self.measureThr.start() self.measureWorker = GenericWorker(self.getMeasureData) self.measureWorker.moveToThread(self.measureThr) ''' ################ # File menu file_menu = self.menuBar().addMenu(_("File")) self.quit_action = create_action( self, _("Quit"), shortcut="Ctrl+Q", icon=get_std_icon("DialogCloseButton"), tip=_("Quit application"), triggered=self.close) saveData = create_action(self, _("Save"), shortcut="Ctrl+S", icon=get_std_icon("DialogSaveButton"), tip=_("Save data"), triggered=self.saveDataHDF5) #add_actions(file_menu, (triggerTest_action, saveData, None, self.quit_action)) ############## # Eventually add an internal console (requires 'spyderlib') self.sift_proxy = SiftProxy(self) if DockableConsole is None: self.console = None else: import time, scipy.signal as sps, scipy.ndimage as spi ns = { 'ftir': self.sift_proxy, 'np': np, 'sps': sps, 'spi': spi, 'os': os, 'sys': sys, 'osp': osp, 'time': time } msg = "Example: ftir.s[0] returns signal object #0\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) self.add_dockwidget(self.console, _("Console")) ''' try: self.console.interpreter.widget_proxy.sig_new_prompt.connect( lambda txt: self.refresh_lists()) except AttributeError: print('sift: spyderlib is outdated', file=sys.stderr) ''' # Show main window and raise the signal plot panel self.show()
def __init__(self, TestGUI=True): QMainWindow.__init__(self) self.setup(TestGUI)
def __init__(self): QMainWindow.__init__(self) self.stage = None self.stopOsci = False self.stopMeasure = False self.setWindowTitle(APP_NAME) ############### # Osci live curveplot_toolbar = self.addToolBar(_("Curve Plotting Toolbar")) self.osciCurveWidget = DockablePlotWidget(self, CurveWidget, curveplot_toolbar) self.osciCurveWidget.calcFun.addFun('s', lambda x: x, lambda x: x) self.osciCurveWidget.calcFun.addFun('ms', lambda x: x*1e3, lambda x: x*1e-3) self.osciCurveWidget.calcFun.addFun('µs', lambda x: x*1e6, lambda x: x*1e-6) osciPlot = self.osciCurveWidget.get_plot() #osciPlot.set_axis_title('bottom', 'Time (s)') #osciplot.add_item(make.legend("TR")) self.osciSignal = SignalFT(self, plot=osciPlot) self.osciSignal.addHCursor(0) self.osciSignal.addBounds() ############## # Time domain plot self.tdWidget = DockablePlotWidget(self, CurveWidget, curveplot_toolbar) self.tdWidget.calcFun.addFun('fs', lambda x: x, lambda x: x) self.tdWidget.calcFun.addFun('µm', lambda x: x*fsDelay*1e3, lambda x: x/fsDelay*1e-3) self.tdWidget.calcFun.addFun('mm', lambda x: x*fsDelay, lambda x: x/fsDelay) tdPlot = self.tdWidget.get_plot() #tdPlot.add_item(make.legend("TR")) self.tdSignal = SignalFT(self, plot=tdPlot) self.tdSignal.addVCursor(0) ################## # Frequency domain plot self.fdWidget = DockablePlotWidget(self, CurveWidget, curveplot_toolbar) self.fdWidget.calcFun.addFun('PHz', lambda x: x, lambda x: x) self.fdWidget.calcFun.addFun('THz', lambda x: x*1e3, lambda x: x*1e-3) # x = PHz -> 1e15, µm = 1e-6 self.fdWidget.calcFun.addFun('µm', lambda x: c0/x*1e-9, lambda x: c0/x*1e-9) self.fdWidget.calcFun.addFun('eV', lambda x: x, lambda x: x) fdplot = self.fdWidget.get_plot() #fqdplot.add_item(make.legend("TR")) self.fdSignal = SignalFT(self, plot=fdplot) ############## # Main window widgets self.tabwidget = DockableTabWidget(self) #self.tabwidget.setMaximumWidth(500) self.tiepieUi = TiePieUi(self) self.piUi = PiStageUi(self) #self.stage = self.piUi.stage self.tabwidget.addTab(self.tiepieUi, QIcon('icons/Handyscope_HS4.png'), _("Osci")) self.tabwidget.addTab(self.piUi, QIcon('icons/piController.png'), _("Stage")) self.add_dockwidget(self.tabwidget, _("Inst. sett.")) # self.setCentralWidget(self.tabwidget) self.osci_dock = self.add_dockwidget(self.osciCurveWidget, title=_("Osciloscope")) self.td_dock = self.add_dockwidget(self.tdWidget, title=_("Time Domain")) self.fd_dock = self.add_dockwidget(self.fdWidget, title=_("Frequency Domain")) ################ # connect signals self.piUi.startScanBtn.released.connect(self.startMeasureThr) self.piUi.stopScanBtn.released.connect(self.stopMeasureThr) self.piUi.xAxeChanged.connect(self.tdSignal.updateXAxe) self.piUi.xAxeChanged.connect(self.fdSignal.updateXAxe) self.piUi.niceBtn.released.connect(self.showMakeNicerWidget) self.tiepieUi.scpConnected.connect(self.startOsciThr) self.tiepieUi.xAxeChanged.connect(self.osciSignal.updateXAxe) self.tiepieUi.yAxeChanged.connect(self.osciSignal.updateYAxe) self.tiepieUi.triggLevelChanged.connect(self.osciSignal.setHCursor) #self.piUi.centerBtn.released.connect( # lambda x=None: self.piUi.setCenter(self.tdSignal.getVCursor())) self.tdSignal.plot.SIG_MARKER_CHANGED.connect( lambda x=None: self.piUi.newOffset(self.tdSignal.getVCursor())) self.osciCurveWidget.calcFun.idxChanged.connect(self.osciSignal.funChanged) self.tdWidget.calcFun.idxChanged.connect(self.tdSignal.funChanged) self.fdWidget.calcFun.idxChanged.connect(self.fdSignal.funChanged) self.updateOsciPlot.connect(self.osciSignal.updatePlot) self.updateTdPlot.connect(self.tdSignal.updatePlot) self.updateFdPlot.connect(lambda data: self.fdSignal.updatePlot(self.fdSignal.computeFFT(data))) ################ # create threads #self.osciThr = GenericThread(self.getOsciData) self.osciThr = QThread() self.osciThr.start() self.osciWorker = GenericWorker(self.getOsciData) self.osciWorker.moveToThread(self.osciThr) #self.measureThr = GenericThread(self.getMeasureData) self.measureThr = QThread() self.measureThr.start() self.measureWorker = GenericWorker(self.getMeasureData) self.measureWorker.moveToThread(self.measureThr) ################ # File menu file_menu = self.menuBar().addMenu(_("File")) self.quit_action = create_action(self, _("Quit"), shortcut="Ctrl+Q", icon=get_std_icon("DialogCloseButton"), tip=_("Quit application"), triggered=self.close) saveData = create_action(self, _("Save"), shortcut="Ctrl+S", icon=get_std_icon("DialogSaveButton"), tip=_("Save data"), triggered=self.saveData) triggerTest_action = create_action(self, _("Stop Osci"), shortcut="Ctrl+O", icon=get_icon('fileopen.png'), tip=_("Open an image"), triggered=self.stopOsciThr) add_actions(file_menu, (triggerTest_action, saveData, None, self.quit_action)) ############## # Eventually add an internal console (requires 'spyderlib') self.sift_proxy = SiftProxy(self) if DockableConsole is None: self.console = None else: import time, scipy.signal as sps, scipy.ndimage as spi ns = {'ftir': self.sift_proxy, 'np': np, 'sps': sps, 'spi': spi, 'os': os, 'sys': sys, 'osp': osp, 'time': time} msg = "Example: ftir.s[0] returns signal object #0\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) self.add_dockwidget(self.console, _("Console")) ''' try: self.console.interpreter.widget_proxy.sig_new_prompt.connect( lambda txt: self.refresh_lists()) except AttributeError: print('sift: spyderlib is outdated', file=sys.stderr) ''' # Show main window and raise the signal plot panel self.show()
def __init__(self): QMainWindow.__init__(self) self.setup()
def __init__(self, parent = None): QMainWindow.__init__(self, parent) self.console = None self.setup()
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): # init main panel QMainWindow.__init__(self) Thread.__init__(self) widget = QWidget() self.setCentralWidget(widget) # define main objects self.remoteKoala = None self.aberrationCorrection = None self.stackDistance = None self.tracking = None self.db = None self.focusPoint = None self.trackingMode = 0 # 0 - Automatic, 1 - Single self.unwrapK = None self.setWindowTitle('3D tracking') # init dataset from gui_construction self.gb_dhm = DataSetEditGroupBox("DHM", gui_construction.DHMParameters, comment='') self.gb_sample = DataSetEditGroupBox("Sample", gui_construction.SampleParameters, comment='') self.gb_remote = DataSetEditGroupBox("Sequence", gui_construction.RemoteParameters, comment='') self.gb_holder = DataSetEditGroupBox("Focus", gui_construction.HolderParameters, comment='') self.gb_rec = DataSetEditGroupBox("Preprocessing Parameters", gui_construction.ReconstructionParameters, comment='') # self.gb_proc = DataSetEditGroupBox("Process", # gui_construction.ProcessParameters, comment='') # self.gb_partchoice = DataSetEditGroupBox("Particle Choice", # gui_construction.ParticuleChoice, comment='') # associate events to dataset apply buttons self.connect(self.gb_dhm, SIGNAL("apply_button_clicked()"), self.update_dhm_params) self.connect(self.gb_sample, SIGNAL("apply_button_clicked()"), self.update_sample_params) self.connect(self.gb_remote, SIGNAL("apply_button_clicked()"), self.update_remote_params) self.connect(self.gb_holder, SIGNAL("apply_button_clicked()"), self.update_holder_params) # organize the subpanels splitter1 = QSplitter(QtCore.Qt.Vertical) splitter1.addWidget(self.gb_dhm) splitter1.addWidget(self.gb_sample) splitter1.addWidget(self.gb_remote) splitter1.addWidget(self.gb_holder) splitter2 = QSplitter(QtCore.Qt.Vertical) splitter = QSplitter(self) splitter.addWidget(splitter1) splitter.addWidget(splitter2) self.setCentralWidget(splitter) self.setContentsMargins(10, 5, 10, 5) # get all params from datasets self.gb_dhm.get()
def __init__(self): QMainWindow.__init__(self) self.setWindowIcon(get_icon('python.png')) self.setWindowTitle("Electric motor simulator") # Dataset for editing motor parameters self.groupbox1 = DataSetShowGroupBox("Motor parameters", ExampleDataSet, comment='') self.groupbox2 = DataSetShowGroupBox("Controller parameters", AnotherDataSet, comment='') self.groupbox3 = DataSetEditGroupBox("Standard dataset", OtherDataSet, comment='') self.groupbox4 = DataSetEditGroupBox("Standard dataset", ExampleMultiGroupDataSet, comment='') #self.groupbox3.SIG_APPLY_BUTTON_CLICKED.connect(self.update_window) self.update_groupboxes() splitter = QSplitter(self) splitter.addWidget(self.groupbox1) splitter.addWidget(self.groupbox2) #splitter.addWidget(self.groupbox3) #splitter.addWidget(self.groupbox4) self.setCentralWidget(splitter) self.setContentsMargins(10, 5, 10, 5) # File menu file_menu = self.menuBar().addMenu("File") quit_action = create_action(self, "Quit", shortcut="Ctrl+Q", icon=get_std_icon("DialogCloseButton"), tip="Quit application", triggered=self.close) add_actions(file_menu, (quit_action, )) # Edit menu edit_menu = self.menuBar().addMenu("Edit") editparam1_action = create_action(self, "Edit dataset 1", triggered=self.edit_dataset1) editparam2_action = create_action(self, "Edit dataset 2", triggered=self.edit_dataset2) editparam4_action = create_action(self, "Edit dataset 4", triggered=self.edit_dataset4) add_actions(edit_menu, (editparam1_action, editparam2_action, editparam4_action)) # Toolbar tb = self.addToolBar("Tools") reset = QAction("Reset", self) tb.addAction(reset) pause = QAction("Pause", self) tb.addAction(pause) step = QAction("Step", self) tb.addAction(step) go = QAction("Go", self) tb.addAction(go)