def __init__(self): app = application() self.tab_widget = QtWidgets.QTabWidget() self.main_window = QtWidgets.QMainWindow() self.main_window.setWindowTitle('Standard Icons') self.main_window.setCentralWidget(self.tab_widget) self.main_window.closeEvent = self.close_event # add a progress bar to the status bar self.progress_bar = QtWidgets.QProgressBar( self.main_window.statusBar()) self.progress_bar.setAlignment(QtCore.Qt.AlignCenter) self.main_window.statusBar().addPermanentWidget(self.progress_bar) self.main_window.showMaximized() self.num_icons = 0 self.file_index = 0 self.zoom_widget = QtWidgets.QDialog() self.zoom_widget.setSizeGripEnabled(True) self.zoom_widget.resize(QtCore.QSize(256, 256)) self.zoom_widget.setWindowFlags(QtCore.Qt.WindowCloseButtonHint) vbox = QtWidgets.QVBoxLayout() self.zoom_label = QtWidgets.QLabel() self.zoom_label.setScaledContents(True) vbox.addWidget(self.zoom_label) self.zoom_widget.setLayout(vbox) qt_icons = [sp for sp in dir(QtWidgets.QStyle) if sp.startswith('SP_')] self.windows_files = [ 'accessibilitycpl', 'compstui', 'ddores', 'dmdskres', 'explorer', 'gameux', 'ieframe', 'imageres', 'mmcndmgr', 'mmres', 'moricons', 'netcenter', 'netshell', 'networkexplorer', 'pifmgr', 'pnidui', 'sensorscpl', 'setupapi', 'shell32', 'wmploc', 'wpdshext' ] self.num_files = 1 + len(self.windows_files) self.progress_bar.setRange(0, self.num_files) self.add_qt_tab('Qt Icons', qt_icons) if has_clr: self.windows_index = 0 self.timer = QtCore.QTimer() self.timer.timeout.connect(self.add_windows_tab) self.timer.start(0) else: self.update_message('Loaded {} icons.'.format(self.num_icons)) self.progress_bar.hide() app.exec()
def read_n_raw_readings(self, n_meas=250, trig_interval=0.02): """ Parameters ---------- n_meas : int number of measurements to collect Returns ------- tuple of t0_s, data. t0_s is the initial time in number of seconds passed since epoch; data is a list of n_meas raw values from the RF counter, in Hz """ # set up for fast graphing app = application() mw = QtWidgets.QMainWindow() mw.setWindowTitle("Capacitor raw data") cw = QtWidgets.QWidget() mw.setCentralWidget(cw) layout = QtWidgets.QVBoxLayout() cw.setLayout(layout) pw1 = pg.PlotWidget(name='Capacitor raw data') curve = pw1.plot() layout.addWidget(pw1) mw.show() self.rfcounter.write("INPUT:LEVEL:AUTO ONCE") # only need to get frequency level once self.rfcounter.write("INIT") # starts waiting for a trigger data = np.empty(n_meas) if self.triggerer is not None: self.triggerer.start_trigger() t0_s = time_ns()/1e9 rdgs_per_s = 1/trig_interval for i in range(n_meas): a = self.rfcounter.query("DATA:REM? 1,WAIT") # a is a string # read one data value taken from memory to buffer; remove value from memory after reading data[i] = float(a.strip("\n")) if i % rdgs_per_s == 0: # update plot every second curve.setData(data[:i]) # show only the collected data app.processEvents() if self.triggerer is not None: self.triggerer.stop_trigger() t1_s = time_ns() / 1e9 print("Elapsed time: {}".format(t1_s - t0_s)) return t0_s, data
import os from datetime import datetime from time import time, time_ns, sleep import numpy as np import matplotlib.pyplot as plt import pyqtgraph as pg from msl.qt import QtWidgets, application from equip import CetoniSP from data_handling import fit_sinusoid app = application() mw = QtWidgets.QMainWindow() mw.setWindowTitle("Syringe pump fill level") cw = QtWidgets.QWidget() mw.setCentralWidget(cw) layout = QtWidgets.QVBoxLayout() cw.setLayout(layout) pw1 = pg.PlotWidget(name='Syringe pump fill level') curve = pw1.plot() layout.addWidget(pw1) class Experimenter(object): def __init__(self): self.sp = None self.t_data = [] # time in seconds self.fl_data = [] # syringe plunger fill level in unit set (mL)