def createMessageWidget(self): '''create message box widget. return group ''' GridStartVal = '2' vbox = QtGui.QVBoxLayout() hbox = QtGui.QHBoxLayout() hbox2 = QtGui.QHBoxLayout() self.lbl = QtGui.QLineEdit("Step 1) Open configuration file", self) self.lbl2 = QtGui.QLineEdit() self.lbl2.setText(os.getcwd()) self.directoryButton = QtGui.QPushButton("Change Directory") hbox.addWidget(QtGui.QLabel("Message")) hbox.addWidget(self.lbl) hbox2.addWidget(QtGui.QLabel("Set Directory")) hbox2.addWidget(self.lbl2) hbox2.addWidget(self.directoryButton) vbox.addLayout(hbox) vbox.addLayout(hbox2) messageGroup = QtGui.QGroupBox("Message Box") messageGroup.setLayout(vbox) if self.tab_widget.currentIndex() == 1: self.lbl.setText("click hotspot, press n or press S to skip frame") else: self.lbl.setText("") return messageGroup
def initUI(self): self.show() hb3 = QtGui.QHBoxLayout() self.file_name_title = QtGui.QLabel("_") lbl1 = QtGui.QLabel("x pos") self.lbl2 = QtGui.QLabel("") lbl3 = QtGui.QLabel("y pos") self.lbl4 = QtGui.QLabel("") btn1 = QtGui.QPushButton("position") hb3.addWidget(lbl1) hb3.addWidget(self.lbl2) hb3.addWidget(lbl3) hb3.addWidget(self.lbl4) hb3.addWidget(btn1) btn1.clicked.connect(self.updatePanel) hb2 = QtGui.QHBoxLayout() hb1 = QtGui.QHBoxLayout() vb1 = QtGui.QVBoxLayout() self.view = IView2() self.sld = QtGui.QSlider(QtCore.Qt.Horizontal, self) self.lcd = QtGui.QLCDNumber(self) self.hist = pg.HistogramLUTWidget() self.hist.setImageItem(self.view.projView) self.hist.setMaximumWidth(110) hb2.addWidget(self.lcd) hb2.addWidget(self.sld) vb1.addWidget(self.file_name_title) vb1.addLayout(hb3) vb1.addWidget(self.view) vb1.addLayout(hb2) hb1.addLayout(vb1) hb1.addWidget(self.hist, 10) self.setLayout(hb1)
def __init__(self, dataGenerator, parent=None): super(SpeedButton, self).__init__(parent=parent) self.verticalLayout = QtGui.QVBoxLayout(self) self.speed = 0.25 self.label = QtGui.QLabel(self) self.label.setText("Speed Control") self.label.setFixedHeight(25) self.label.setAlignment(QtCore.Qt.AlignCenter) self.startButton = QtGui.QPushButton('Apply Contingency', self) self.startButton.clicked.connect(dataGenerator.start) self.stopButton = QtGui.QPushButton('Reset', self) #self.stopButton.clicked.connect(dataGenerator.stop) self.fullPlotButton = QtGui.QPushButton("View Full Plot", self) self.zoomButton = QtGui.QPushButton("Zoom Out", self) self.sb1 = QtGui.QRadioButton("x1") self.sb1.toggled.connect(lambda: self.setSpeed(1)) self.sb2 = QtGui.QRadioButton("x0.5") self.sb2.toggled.connect(lambda: self.setSpeed(0.5)) self.sb3 = QtGui.QRadioButton("x0.25") self.sb3.toggled.connect(lambda: self.setSpeed(0.25)) self.sb3.setChecked(True) self.sb4 = QtGui.QRadioButton("x0.10") self.sb4.toggled.connect(lambda: self.setSpeed(0.1)) #self.speedLayout = QtGui.QVBoxLayout() #self.speedLayout.addWidget(self.label) #self.speedLayout.addWidget(self.sb1) self.verticalLayout.setAlignment(QtCore.Qt.AlignTop) self.checkboxLayout = QtGui.QHBoxLayout() self.hl1 = QtGui.QHBoxLayout() self.hl2 = QtGui.QHBoxLayout() self.hl1.addWidget(self.startButton) self.hl1.addWidget(self.stopButton) self.hl2.addWidget(self.fullPlotButton) self.hl2.addWidget(self.zoomButton) self.verticalLayout.addLayout(self.hl1) self.verticalLayout.addLayout(self.hl2) self.verticalLayout.addWidget(self.label) self.checkboxLayout.addWidget(self.sb1) self.checkboxLayout.addWidget(self.sb2) self.checkboxLayout.addWidget(self.sb3) self.checkboxLayout.addWidget(self.sb4) self.verticalLayout.addLayout(self.checkboxLayout)
def __init__( self, minimum, maximum, value=None, suffix="", prec=1, parent=None, **kwargs ): super().__init__(parent=parent) self.suffix = suffix self.prec = prec self.outerLayout = QtGui.QHBoxLayout(self) self.outerLayout.setContentsMargins(0, 0, 0, 0) self.outerLayout.setSpacing(0) self.label = QtGui.QLabel(self) self.outerLayout.addWidget(self.label) # Start of innerLayout - slider with spacer items on its sides self.innerLayout = QtGui.QHBoxLayout() spacerItem = QtGui.QSpacerItem( 0, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum ) self.innerLayout.addItem(spacerItem) self.slider = QtGui.QSlider(self) self.slider.setOrientation(QtCore.Qt.Horizontal) self.innerLayout.addWidget(self.slider) spacerItem1 = QtGui.QSpacerItem( 0, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum ) self.innerLayout.addItem(spacerItem1) # End of innerLayout self.outerLayout.addLayout(self.innerLayout) self.resize(self.sizeHint()) self.minimum = minimum self.maximum = maximum self.slider.valueChanged.connect( self._setLabelValue_based_on_slider_value ) if value: self.slider.setValue(self._value_to_slider_value(value)) self.x = value else: self.x = self.minimum self._setLabelValue_based_on_slider_value(self.slider.value())
def init_ui(self): self._controls.initialize() central_widget = QtGui.QWidget() self.setCentralWidget(central_widget) widgets_layout = QtGui.QHBoxLayout() main_layout = QtGui.QHBoxLayout() main_layout.addLayout(widgets_layout) self._controls_widget.setMinimumWidth(400) main_layout.addWidget(self._controls_widget) self.centralWidget().setLayout(main_layout) self.main_layout = main_layout self.widgets_layout = widgets_layout
def initUI(self): self.sld = QtGui.QSlider(QtCore.Qt.Horizontal, self) self.lcd = QtGui.QLCDNumber(self) self.combo = QtGui.QComboBox(self) self.btn = QtGui.QPushButton('Click2') self.btn.setText("Sinogram") self.btn2 = QtGui.QPushButton("shift data") self.btn3 = QtGui.QPushButton("X 10") self.btn4 = QtGui.QPushButton("/ 10") hb = QtGui.QHBoxLayout() hb.addWidget(self.btn3) hb.addWidget(self.btn4) self.btn3.setVisible(False) self.btn4.setVisible(False) self.lbl = QtGui.QLabel() self.lbl.setText("") vb = QtGui.QVBoxLayout() vb.addWidget(self.combo) vb.addWidget(self.btn) vb.addWidget(self.btn2) vb.addWidget(self.lcd) vb.addWidget(self.sld) vb.addWidget(self.lbl) vb.addLayout(hb) self.setLayout(vb)
def __init__(self, *args, **kwargs): super(TimeSeriesControls, self).__init__(*args, **kwargs) self.time_points = None self.filename_label = QtGui.QLabel('', self) self.filename_label.setAlignment(QtCore.Qt.AlignCenter) self.time_point_label = QtGui.QLabel('', self) self.time_point_label.setAlignment(QtCore.Qt.AlignLeft) self.time_point_slider = QtGui.QSlider(parent=self) self.time_point_slider.setTracking(True) self.time_point_slider.setOrientation(QtCore.Qt.Horizontal) # Update label with time_point self.time_point_slider.valueChanged.connect( self.time_point_label.setNum) self.time_point_slider.valueChanged.connect(self._update) time_label = QtGui.QLabel('Time point: ', self) time_label.setAlignment(QtCore.Qt.AlignLeft) controls = QtGui.QHBoxLayout() controls.addWidget(time_label) controls.addWidget(self.time_point_label) controls.addWidget(self.time_point_slider) title = QtGui.QLabel('<h3>Time-series controls</h3>') title.setAlignment(QtCore.Qt.AlignCenter) layout = QtGui.QVBoxLayout() layout.addWidget(title) layout.addWidget(self.filename_label) layout.addLayout(controls) self.setLayout(layout)
def setupUi(self, MainWindow): MainWindow.setObjectName(_fromUtf8("MainWindow")) MainWindow.resize(820, 650) MainWindow.setAutoFillBackground(False) MainWindow.setDocumentMode(False) self.centralwidget = QtGui.QWidget(MainWindow) self.centralwidget.setObjectName(_fromUtf8("centralwidget")) self.verticalLayout = QtGui.QVBoxLayout(self.centralwidget) self.verticalLayout.setObjectName(_fromUtf8("verticalLayout")) self.horizontalLayout = QtGui.QHBoxLayout() self.horizontalLayout.setContentsMargins(-1, -1, 0, 0) self.horizontalLayout.setSpacing(10) self.horizontalLayout.setObjectName(_fromUtf8("horizontalLayout")) self.btnAdd = QtGui.QPushButton(self.centralwidget) self.btnAdd.setObjectName(_fromUtf8("btnAdd")) self.horizontalLayout.addWidget(self.btnAdd) self.chkMore = QtGui.QCheckBox(self.centralwidget) self.chkMore.setObjectName(_fromUtf8("chkMore")) self.horizontalLayout.addWidget(self.chkMore) self.verticalLayout.addLayout(self.horizontalLayout) self.grPlot = PlotWidget(self.centralwidget) self.grPlot.setObjectName(_fromUtf8("grPlot")) self.verticalLayout.addWidget(self.grPlot) MainWindow.setCentralWidget(self.centralwidget) self.statusbar = QtGui.QStatusBar(MainWindow) self.statusbar.setObjectName(_fromUtf8("statusbar")) MainWindow.setStatusBar(self.statusbar) self.retranslateUi(MainWindow) QtCore.QMetaObject.connectSlotsByName(MainWindow)
def init_gui(self): """ General GUI setup, if it was more complex we might want to use a ui file built in Qt Creator. """ # Create a vbox to hold the text box and both charts vbox = QtGui.QVBoxLayout() # The hbox will keep the charts side by side. hbox = QtGui.QHBoxLayout() # Create a text box and connect the changed signal to a slot # it would be trivial to add a 'browse' dialog, but not required for # a demo self.txt_file_path = pg.QtGui.QLineEdit() self.txt_file_path.textChanged[str].connect(self.set_file_path) # Chart specific setup self.setup_time_series_charts() self.setup_histogram_chart() # Build up the GUI vbox.addWidget(self.txt_file_path) hbox.addWidget(self.time_series_widget) hbox.addWidget(self.histogram_widget) vbox.addLayout(hbox) self.central_widget = QtGui.QWidget(self) self.setCentralWidget(self.central_widget) self.central_widget.setLayout(vbox) return None
def __init__(self, group_name, button_name, default_path=None, stdout=False, filter="yaml (*.yaml)"): ''' ex: PathSelector('plot.yaml', 'select', '/path/to/default/plot.yaml') :param widget parent: parent widget :param str group_name: name of this item displayed on left up :param str button_name: name displayed on button :param str default_path: default path to file ''' self.path = str(default_path) QtGui.QVBoxLayout.__init__(self, group_name) # make layouts vbox = QtGui.QVBoxLayout() hbox = QtGui.QHBoxLayout() # label and button self.label = QtGui.QLabel(self.path) self.button = QtGui.QPushButton() self.button.setText(button_name) self.button.setAutoDefault(True) # set parents hbox.addWidget(self.button) hbox.addWidget(self.label) vbox.addLayout(hbox) self.setLayout(vbox) self.button.clicked.connect(functools.partial(self.select_path, filter))
def initUI(self): self.show() hb1 = QtGui.QHBoxLayout() self.view = IView() self.hist = pg.HistogramLUTWidget() self.hist.setImageItem(self.view.projView) hb1.addWidget(self.view) hb1.addWidget(self.hist, 10) self.hist.setMaximumWidth(110) self.setLayout(hb1)
def __init__(self, image, parent=None): super(SystemState, self).__init__(parent=parent) self.layout = QtGui.QHBoxLayout(self) self.image = QtGui.QPixmap(image).scaledToHeight(120) self.imageLabel = QtGui.QLabel(self) self.imageLabel.setPixmap(self.image) self.bbinfo = BBInfo() self.layout.addWidget(self.imageLabel) self.layout.addWidget(self.bbinfo)
def createSinoWidget(self): '''create a sinogram group for sinogram tab. returns sinogram group ''' self.sino = QSelect2() self.sinoView = SinoWidget() sinoBox = QtGui.QHBoxLayout() sinoBox.addWidget(self.sino) sinoBox.addWidget(self.sinoView, 10) sinoGroup = QtGui.QGroupBox("Sinogram") sinoGroup.setLayout(sinoBox) return sinoGroup
def createImageProcessWidget(self): '''create an Image process group. returns the group ''' self.imgProcessControl = imageProcess() self.imgProcess = IView3() imgProcessBox = QtGui.QHBoxLayout() imgProcessBox.addWidget(self.imgProcessControl) imgProcessBox.addWidget(self.imgProcess, 10) imgProcessGroup = QtGui.QGroupBox("Image Process") imgProcessGroup.setLayout(imgProcessBox) return imgProcessGroup
def initUI(self): names = list() for i in arange(self.numlabels): names.append("") self.grid = QtGui.QGridLayout() self.lbl = QtGui.QLabel() self.lbl2 = QtGui.QLabel() self.lbl.setText( "closing this window won't affect your selection of the files") self.lbl2.setText( "You should convert the files in order to generate sinogram or reconstructed data" ) self.btn = QtGui.QPushButton('Save Data in Memory', self) self.btn2 = QtGui.QPushButton("set Image Tag", self) self.btn3 = QtGui.QPushButton("set Element", self) self.btn4 = QtGui.QPushButton("Sort data by angle") columns = np.ceil(np.sqrt(self.numlabels)) rows = 10 j = 0 pos = list() for y in arange(columns): for x in arange(rows): pos.append((x, y)) self.button = list() for i in names: self.button.append(QtGui.QCheckBox(i)) self.grid.addWidget(self.button[j], pos[j][0], pos[j][1]) j = j + 1 self.setLayout(self.grid) self.vb = QtGui.QVBoxLayout() self.vb2 = QtGui.QVBoxLayout() self.vb.addWidget(self.lbl, 12) self.vb.addWidget(self.lbl2, 13) hb = QtGui.QHBoxLayout() hb.addWidget(self.btn2) hb.addWidget(self.btn3) hb.addWidget(self.btn4) self.vb2.addLayout(hb) self.vb2.addWidget(self.btn) self.grid.addLayout(self.vb, 11, 0, 1, 7) self.grid.addLayout(self.vb2, 13, 1, 1, 3) self.move(100, 100) self.setWindowTitle('Calculator') self.show()
def createProjWidget(self): '''create a projection group for projection tab. returns projection group ''' self.projection = QSelect2() self.projectionView = pg.ImageView() projectionBox = QtGui.QHBoxLayout() projectionBox.addWidget(self.projection) projectionBox.addWidget(self.projectionView, 10) projectionGroup = QtGui.QGroupBox("Projections") projectionGroup.setLayout(projectionBox) return projectionGroup
def createSaveHotspotWidget(self): '''create a saving hotspot position group. returns the group ''' self.projViewControl = QSelect4() self.projView = IView3() self.boxSize = 20 projViewBox = QtGui.QHBoxLayout() projViewBox.addWidget(self.projViewControl) projViewBox.addWidget(self.projView, 10) projViewGroup = QtGui.QGroupBox(" HotSpot") projViewGroup.setLayout(projViewBox) return projViewGroup
def __init__(self, parent = None): super(StaticInfo, self).__init__(parent = parent) self.layout = QtGui.QHBoxLayout(self) self.logoPixmap = QtGui.QPixmap(WSU_LOGO) self.logoLabel = QtGui.QLabel(self) self.logoLabel.setPixmap(self.logoPixmap.scaledToWidth(900)) #self.graphPixmap = QtGui.QPixmap(GRAPH_IMAGE) #self.graphLabel = QtGui.QLabel(self) #self.graphLabel.setPixmap(self.graphPixmap.scaledToWidth(550)) self.layout.addWidget(self.logoLabel)
def createReconWidget(self): '''create a reconstruction group for reconstruction tab. returns reconstruction group ''' self.recon = QSelect3() self.recon.sld.setVisible(False) self.reconView = IView3() self.reconView.view.ROI.setVisible(False) reconBox = QtGui.QHBoxLayout() reconBox.addWidget(self.recon) reconBox.addWidget(self.reconView, 10) reconGroup = QtGui.QGroupBox("Reconstruction") reconGroup.setLayout(reconBox) return reconGroup
def __init__(self, parent=None): super(Radiodemo, self).__init__(parent) layout = QtGui.QHBoxLayout() self.b1 = QtGui.QRadioButton("Button1") self.b1.setChecked(True) self.b1.toggled.connect(lambda: self.btnstate(self.b1)) layout.addWidget(self.b1) self.b2 = QtGui.QRadioButton("Button2") self.b2.toggled.connect(lambda: self.btnstate(self.b2)) layout.addWidget(self.b2) self.setLayout(layout) self.setWindowTitle("RadioButton demo")
def testDatasetPlotParams(fd): widget = QtGui.QWidget() widget.setLayout(QtGui.QHBoxLayout()) onedParams = OneDPlotParamTree(dataset=fd[ '/data/event/balls/hit/ball_0_9ba91cb6163611e5899524fd526610e7']) widget.layout().addWidget(onedParams) compoundParams = CompoundPlotParamTree( dataset=fd['/data/static/tables/dimensions']) widget.layout().addWidget(compoundParams) twodParams = TwoDPlotParamTree(dataset=fd['/data/uniform/balls/x']) widget.layout().addWidget(twodParams) ndParams = NDPlotParamTree(dataset=fd['/data/uniform/ndim/data3d']) widget.layout().addWidget(ndParams) widget.show() return widget
def test_in_widget(make): w = QtGui.QWidget() hb = QtGui.QHBoxLayout() w.setLayout(hb) w.resize(800, 800) w.show() for _ in range(10): gl = make() hb.addWidget(gl) QtGui.QApplication.processEvents() hb.removeWidget(gl) gl.deleteLater() QtGui.QApplication.processEvents() return w
def __init__(self, parent = None): super(AppWindow, self).__init__(parent = parent) self.showMaximized() p = self.palette() p.setColor(self.backgroundRole(), QtGui.QColor('white')) self.setPalette(p) self.layout = QtGui.QHBoxLayout(self) self.demoWindow = DemoWindow(self) self.lineDiagram = LineDiagram(self) self.layout.addWidget(self.demoWindow) self.layout.addWidget(self.lineDiagram)
def __init__(self, image, node_id=0, parent=None): super(SystemState, self).__init__(parent=parent) self.node_id = node_id self.layout = QtGui.QHBoxLayout(self) self.image = QtGui.QPixmap(image).scaledToHeight(150) self.imageLabel = QtGui.QLabel(self) self.imageLabel.setPixmap(self.image) self.bbinfo = BBInfo() self.failureButton = QtGui.QPushButton(self) self.failureButton.setText("Shut Down") self.layout.addWidget(self.failureButton) self.layout.addWidget(self.imageLabel) self.layout.addWidget(self.bbinfo)
def widget(self): config_widget = QtGui.QWidget() layout = QtGui.QHBoxLayout() layout.addWidget(self.autoscale_button) layout.addWidget(self.welch_button) # layout.addWidget(self.histogram) config_widget.setLayout(layout) layout = QtGui.QVBoxLayout() layout.addWidget(self.plot_widget) layout.addWidget(config_widget) main_widget = QtGui.QWidget() main_widget.setLayout(layout) main_widget.block = self return main_widget
def __init__(self, parent=None): super(DirReader, self).__init__(parent=parent) self.settings = QtCore.QSettings('dataviz', 'dirreader') self.baseDirLabel = QtGui.QLabel('Base directory') self.baseDirEdit = QtGui.QLineEdit('.') self.baseDirButton = QtGui.QPushButton('Open') self.baseDirButton.clicked.connect(self.selectBaseDir) self.baseDirWidget = QtGui.QWidget() layout = QtGui.QHBoxLayout() self.baseDirWidget.setLayout(layout) layout.addWidget(self.baseDirLabel) layout.addWidget(self.baseDirEdit) layout.addWidget(self.baseDirButton) self.pathTree = ptree.ParameterTree(showHeader=False) self.pathRules = PathParams(name='Path rules') self.pathTree.setParameters(self.pathRules, showTop=True) self.setLayout(QtGui.QVBoxLayout()) self.layout().addWidget(self.baseDirWidget) self.layout().addWidget(self.pathTree)
def __init__(self, initial_mask = None, **kwargs): """ Parameters ---------- initial_mask : ndarray or None, optional Dialog will display this array if provided. """ self.mask = None or initial_mask super(FourierMaskDialog, self).__init__(**kwargs) self.setModal(True) clear_prev_mask_btn = QtGui.QPushButton('Clear user-defined mask', self) clear_prev_mask_btn.clicked.connect(self.clear_mask) file_search_btn = QtGui.QPushButton('Load Fourier mask', self) file_search_btn.clicked.connect(self.load_mask) accept_btn = QtGui.QPushButton('accept', self) accept_btn.clicked.connect(self.accept) reject_btn = QtGui.QPushButton('reject', self) reject_btn.clicked.connect(self.reject) reject_btn.setDefault(True) self.viewer = pg.ImageView(parent = self, name = 'Fourier mask') if self.mask is not None: self.viewer.setImage(self.mask) btns = QtGui.QHBoxLayout() btns.addWidget(clear_prev_mask_btn) btns.addWidget(file_search_btn) btns.addWidget(accept_btn) btns.addWidget(reject_btn) layout = QtGui.QVBoxLayout() layout.addWidget(self.viewer) layout.addLayout(btns) self.setLayout(layout)
def __init__(self, parent=None): super(DemoWindow, self).__init__(parent=parent) self.showMaximized() self.graph = GraphWidget(self) self.verticalLayout = QtGui.QVBoxLayout(self) self.verticalLayout.addWidget(self.graph) self.logoLayout = QtGui.QHBoxLayout() self.logoPixmap = QtGui.QPixmap(WSU_LOGO) self.logoLabel = QtGui.QLabel(self) self.logoLabel.setPixmap( self.logoPixmap.scaledToWidth(self.frameGeometry().width() * 1.6)) #self.screenPixmap = QtGui.QPixmap(SCREENSHOT) #self.screenLabel = QtGui.QLabel(self) #self.screenLabel.setPixmap(self.screenPixmap.scaledToWidth(600)) self.logoLayout.addWidget(self.logoLabel) #self.logoLayout.addWidget(self.screenLabel) self.verticalLayout.addLayout(self.logoLayout)
def setDataset(self, dataset): model = create_default_model(dataset) self.setModel(model) self.name = '{}:{}'.format(dataset.file.filename, dataset.name) self.setToolTip('Dataset <b>{}</b> [file: {}]'.format( dataset.name, dataset.file.filename)) if __name__ == '__main__': import sys import h5py as h5 app = QtGui.QApplication(sys.argv) window = QtGui.QMainWindow() fd = h5.File('poolroom.h5', 'r') widget1 = HDFDatasetWidget(dataset=fd['/map/nonuniform/tables/players']) widget2 = HDFDatasetWidget(dataset=fd['/data/uniform/ndim/data3d']) widget3 = HDFDatasetWidget() widget3.setDataset(fd['/data/uniform/balls/x']) widget = QtGui.QWidget(window) layout = QtGui.QHBoxLayout(widget) layout.addWidget(widget1) layout.addWidget(widget2) layout.addWidget(widget3) widget.setLayout(layout) window.setCentralWidget(widget) window.show() sys.exit(app.exec_()) # # hdfdatasetwidget.py ends here
def __init__(self, parent=None): super(GraphWidget, self).__init__(parent=parent) self.speed = 1 self.index = 0 self.plotSize = 500 self.isZoomed = True self.state = NORMAL_STATE self.horizontalLayout = QtGui.QHBoxLayout(self) self.dataGenerator = DataGenerator() self.w1 = SpeedButton(self.dataGenerator) self.w1.fullPlotButton.clicked.connect(self.showFullPlot) self.w1.zoomButton.clicked.connect(self.toggleZoom) self.w1.stopButton.clicked.connect(self.reset) # self.w2 = Slider(-1, 1) # self.horizontalLayout.addWidget(self.w2) # self.w3 = Slider(-10, 10) # self.horizontalLayout.addWidget(self.w3) # self.w4 = Slider(-10, 10) # self.horizontalLayout.addWidget(self.w4) self.win = pg.GraphicsWindow(title="UFLS Demo") self.win2 = pg.GraphicsWindow(title="UFLS Demo") #self.update() #self.w1.slider.valueChanged.connect(self.setInterval) self.normalReadings = [60.0 for _ in range(PLOT_SIZE)] self.rasReadings = [60.0 for _ in range(PLOT_SIZE)] #Print the difference between times and see if there's any hope, or else take the average of times #time_list = [(self.normalTimes[i+1] - self.normalTimes[i]).microseconds for i in range(len(self.normalTimes) - 1) ] #print float(sum(time_list)/1000)/float(len(time_list)) #self.win.resize(1000, 600) pg.setConfigOptions(antialias = True) self.vlayout = QtGui.QVBoxLayout() self.vlayout.addWidget(self.win) self.vlayout.addWidget(self.win2) self.horizontalLayout.addLayout(self.vlayout) self.rangeStart = 0 self.rangeEnd = 500 self.rangeCount = 1 self.tickList = [(x, x) for x in range(0, 500, 200)] self.normalPlot = self.win.addPlot(title = "<h2>Without RAS</h2>") self.normalCurve = self.normalPlot.plot(pen = pg.mkPen('r', width = 6)) self.normalPlot.setYRange(49, 60, padding = 0.1, update = False) self.normalPlot.setLabel("left", "Frequency", units = "Hz") self.normalPlot.setLabel("bottom", "Time (ms) ") self.rasPlot = self.win.addPlot(title = "<h2>With RAS</h2>") self.rasPlot.getAxis('bottom').setTicks([self.tickList]) self.rasCurve = self.rasPlot.plot(pen = pg.mkPen('g', width = 5)) self.rasPlot.setYRange(58.1, 60, padding = 0.1, update = False) self.rasPlot.setLabel("left", "Frequency", units = "Hz") self.rasPlot.setLabel("bottom", "Time (ms)") self.bothPlot = self.win2.addPlot(title = "<h2>Comparison</h2>") self.bothPlot.setYRange(49, 60, padding = 0.1, update = False) self.bothPlot.setLabel("left", "Frequency", units = "Hz") self.bothPlot.setLabel("bottom", "Time (ms)") self.bothPlot.getAxis('bottom').setTicks([self.tickList]) self.bothPlot.getAxis('bottom').setGrid(120) self.bothPlot.getAxis('left').setGrid(200) self.normalPlot.getAxis('bottom').setGrid(120) self.normalPlot.getAxis('left').setGrid(200) self.rasPlot.getAxis('bottom').setGrid(120) self.rasPlot.getAxis('left').setGrid(200) self.bothNormalCurve = pg.PlotCurveItem() self.bothNormalCurve.setPen(pg.mkPen('r', width = 8)) self.bothRasCurve = pg.PlotCurveItem() self.bothRasCurve.setPen(pg.mkPen('g', width = 5)) self.bothRasCurve.setPen(pg.mkPen('g', width = 5)) self.bothPlot.addItem(self.bothNormalCurve) self.bothPlot.addItem(self.bothRasCurve) self.systemStateLayout = SystemStateWidget(self) self.horizontalLayout.addWidget(self.systemStateLayout) #self.horizontalLayout.addWidget(self.w1) #self.lineDiagramLabel = QtGui.QLabel(self) #self.lineDiagramPixmap = QtGui.QPixmap(LINE_DIAGRAM) #self.lineDiagramLabel.setPixmap(self.lineDiagramPixmap.scaledToHeight(550)) #self.horizontalLayout.addWidget(self.lineDiagramLabel) self.timer = pg.QtCore.QTimer() self.timer.timeout.connect(self.update) self.timer.start(TIMEOUT)