81 lines
2.1 KiB
Python
81 lines
2.1 KiB
Python
#!/usr/bin/env python
|
|
import sys
|
|
from PySide2.QtCore import (
|
|
QDateTime, Qt
|
|
)
|
|
from PySide2.QtWidgets import (
|
|
QApplication, QMainWindow
|
|
)
|
|
from PySide2.QtCharts import (
|
|
QtCharts
|
|
)
|
|
from UM24CUI import Ui_MainWindow
|
|
import random
|
|
|
|
|
|
class UM24Lab(QMainWindow):
|
|
|
|
def __init__(self):
|
|
super(UM24Lab, self).__init__()
|
|
self.ui = Ui_MainWindow()
|
|
self.ui.setupUi(self)
|
|
|
|
self.ui.plotVoltage = QtCharts.QChart()
|
|
self.ui.widgetVoltage.setChart(self.ui.plotVoltage)
|
|
|
|
self.ui.plotCurrent = QtCharts.QChart()
|
|
self.ui.widgetCurrent.setChart(self.ui.plotCurrent)
|
|
|
|
# --- Voltage ---
|
|
voltage = self.ui.plotVoltage
|
|
series = QtCharts.QLineSeries()
|
|
series.setName('Voltage over time')
|
|
# Add random demo data
|
|
for x in range(100):
|
|
y = random.randint(0, 10)
|
|
series.append(x, y)
|
|
voltage.addSeries(series)
|
|
|
|
axis_x = QtCharts.QValueAxis()
|
|
axis_x.setTickCount(60)
|
|
axis_x.setTitleText('Seconds')
|
|
voltage.addAxis(axis_x, Qt.AlignBottom)
|
|
series.attachAxis(axis_x)
|
|
|
|
axis_y = QtCharts.QValueAxis()
|
|
axis_y.setTickCount(10)
|
|
axis_y.setTitleText('Voltage (V)')
|
|
voltage.addAxis(axis_y, Qt.AlignLeft)
|
|
series.attachAxis(axis_y)
|
|
|
|
# --- Current ---
|
|
current = self.ui.plotCurrent
|
|
series = QtCharts.QLineSeries()
|
|
series.setName('Current over time')
|
|
# Add random demo data
|
|
for x in range(100):
|
|
y = random.randint(0, 10)
|
|
series.append(x, y)
|
|
current.addSeries(series)
|
|
|
|
axis_x = QtCharts.QValueAxis()
|
|
axis_x.setTickCount(60)
|
|
axis_x.setTitleText('Seconds')
|
|
current.addAxis(axis_x, Qt.AlignBottom)
|
|
series.attachAxis(axis_x)
|
|
|
|
axis_y = QtCharts.QValueAxis()
|
|
axis_y.setTickCount(10)
|
|
axis_y.setTitleText('Current (A)')
|
|
current.addAxis(axis_y, Qt.AlignLeft)
|
|
series.attachAxis(axis_y)
|
|
|
|
|
|
if __name__ == '__main__':
|
|
app = QApplication(sys.argv)
|
|
|
|
labview = UM24Lab()
|
|
labview.show()
|
|
|
|
sys.exit(app.exec_())
|