Hating main event loop

This commit is contained in:
jpk 2020-01-21 15:43:57 +01:00
parent 111c4ce870
commit ce060cac1a
1 changed files with 44 additions and 26 deletions

View File

@ -1,7 +1,9 @@
#!/usr/bin/env python
import sys
import random
from PySide2.QtCore import (
QDateTime, Qt
Qt, QTimer
)
from PySide2.QtWidgets import (
QApplication, QMainWindow
@ -9,8 +11,8 @@ from PySide2.QtWidgets import (
from PySide2.QtCharts import (
QtCharts
)
from UM24CUI import Ui_MainWindow
import random
class UM24Lab(QMainWindow):
@ -27,48 +29,55 @@ class UM24Lab(QMainWindow):
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)
self.voltage = self.ui.plotVoltage
self.voltage_series = QtCharts.QLineSeries()
self.voltage_series.setName('Voltage over time')
self.voltage.addSeries(self.voltage_series)
axis_x = QtCharts.QValueAxis()
axis_x.setTickCount(60)
axis_x.setTitleText('Seconds')
voltage.addAxis(axis_x, Qt.AlignBottom)
series.attachAxis(axis_x)
self.voltage.addAxis(axis_x, Qt.AlignBottom)
self.voltage_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)
self.voltage.addAxis(axis_y, Qt.AlignLeft)
self.voltage_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)
self.current = self.ui.plotCurrent
self.current_series = QtCharts.QLineSeries()
self.current_series.setName('Current over time')
self.current.addSeries(self.current_series)
axis_x = QtCharts.QValueAxis()
axis_x.setTickCount(60)
axis_x.setTitleText('Seconds')
current.addAxis(axis_x, Qt.AlignBottom)
series.attachAxis(axis_x)
self.current.addAxis(axis_x, Qt.AlignBottom)
self.current_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)
self.current.addAxis(axis_y, Qt.AlignLeft)
self.current_series.attachAxis(axis_y)
self.timer_step = 0
self.voltage_series.append(self.timer_step, 0)
self.current_series.append(self.timer_step, 0)
timer = QTimer()
timer.timeout.connect(self.update_graphs)
timer.start(0)
def update_graphs(self):
self.voltage_series.append(self.timer_step, random.randint(0, 10))
self.current_series.append(self.timer_step, random.randint(0, 10))
self.ui.progressTempC.setValue(random.randint(0, 100))
self.timer_step += 1
self.update()
if __name__ == '__main__':
@ -77,4 +86,13 @@ if __name__ == '__main__':
labview = UM24Lab()
labview.show()
def idle_processor():
labview.update_graphs()
app.processEvents()
# print(labview.timer_step)
# mainTimer = QTimer()
# mainTimer.timeout.connect(idle_processor)
# mainTimer.start(50)
sys.exit(app.exec_())