Skip to content
Snippets Groups Projects
Commit f4c086ab authored by esarrey's avatar esarrey
Browse files

QtCore unfreeze interface

parent dd2987b1
No related branches found
No related tags found
No related merge requests found
......@@ -4,14 +4,13 @@ from pymeasure.display.widgets import TabWidget
from ..classes.hall_sensor import HallSensor
class LiveTab(TabWidget, QtWidgets.QWidget):
def __init__(self, name, parent=None):
super().__init__(parent)
self.name = name
self.hall_sensor = HallSensor()
font = QtGui.QFont()
font.setPointSize(48)
font.setPointSize(32)
layout = QtWidgets.QGridLayout()
......@@ -27,14 +26,29 @@ class LiveTab(TabWidget, QtWidgets.QWidget):
self.sensor_timer = QtCore.QTimer()
self.sensor_timer.timeout.connect(self.update_sensor_value)
self.sensor_timer.start(500)
self.sensor_timer.start(100) # Refresh every 0.1 seconds
def update_sensor_value(self):
sensor_value = self.hall_sensor.read_mT()
self.sensor_value_label.setText(f"{sensor_value:.6f}mT")
# Create a worker thread for reading the sensor value
worker = SensorWorker(self.hall_sensor)
worker.sensor_value_updated.connect(self.update_sensor_label)
QtCore.QThreadPool.globalInstance().start(worker)
def update_sensor_label(self, sensor_value):
self.sensor_value_label.setText(str(sensor_value) + "mT")
def zero_sensor_value(self):
self.sensor_timer.stop()
self.hall_sensor.zeroing()
self.sensor_timer.start(100)
class SensorWorker(QtCore.QRunnable):
sensor_value_updated = QtCore.pyqtSignal(float)
def __init__(self, hall_sensor):
super().__init__()
self.hall_sensor = hall_sensor
def run(self):
sensor_value = self.hall_sensor.read_mT()
self.sensor_value_updated.emit(sensor_value)
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment