4e9e75817f
Added example of simple Designer usage.
47 lines
1.4 KiB
Python
47 lines
1.4 KiB
Python
# -*- coding: utf-8 -*-
|
|
"""
|
|
Simple example of loading UI template created with Qt Designer.
|
|
|
|
This example uses uic.loadUiType to parse and load the ui at runtime. It is also
|
|
possible to pre-compile the .ui file using pyuic (see VideoSpeedTest and
|
|
ScatterPlotSpeedTest examples; these .ui files have been compiled with the
|
|
tools/rebuildUi.py script).
|
|
"""
|
|
import initExample ## Add path to library (just for examples; you do not need this)
|
|
|
|
import pyqtgraph as pg
|
|
from pyqtgraph.Qt import QtCore, QtGui
|
|
import numpy as np
|
|
import os
|
|
|
|
pg.mkQApp()
|
|
|
|
## Define main window class from template
|
|
path = os.path.dirname(os.path.abspath(__file__))
|
|
uiFile = os.path.join(path, 'designerExample.ui')
|
|
WindowTemplate, TemplateBaseClass = pg.Qt.loadUiType(uiFile)
|
|
|
|
class MainWindow(TemplateBaseClass):
|
|
def __init__(self):
|
|
TemplateBaseClass.__init__(self)
|
|
self.setWindowTitle('pyqtgraph example: Qt Designer')
|
|
|
|
# Create the main window
|
|
self.ui = WindowTemplate()
|
|
self.ui.setupUi(self)
|
|
self.ui.plotBtn.clicked.connect(self.plot)
|
|
|
|
self.show()
|
|
|
|
def plot(self):
|
|
self.ui.plot.plot(np.random.normal(size=100), clear=True)
|
|
|
|
win = MainWindow()
|
|
|
|
|
|
## Start Qt event loop unless running in interactive mode or using pyside.
|
|
if __name__ == '__main__':
|
|
import sys
|
|
if (sys.flags.interactive != 1) or not hasattr(QtCore, 'PYQT_VERSION'):
|
|
QtGui.QApplication.instance().exec_()
|