Я читаю датчик и хочу отобразить его вывод в виде десятичного числа в графическом интерфейсе, используя PyQt5. Я нашел несколько руководств, в которых упоминается функция label.setText('myStr'). Однако это не работает для моей настройки, потому что мне нужно обновить поле на основе ввода из другой функции. Я еще не очень хорошо знаком с PyQt5, и я был бы признателен за любое понимание того, как следует подходить к этой проблеме. Примечание. (Я использую LCM для получения данных от Raspberry Pi. Я не уверен, что это имеет отношение к проблеме, но это помогает объяснить мой код ниже.)
Вот что я пытаюсь сделать:
class Home_Win(QMainWindow):
def __init__(self):
QMainWindow.__init__(self)
loadUi("sensor_interface.ui", self)
self.label_temp.setText('temperature') #Just to verify that I can change it from here
def acquire_sensors(self):
temp = 0 #Make variable available outside nested function
def listen(channel, data):
msg=sensor_data.decode(data)
temp = msg.temperature
lc = lcm.LCM()
subscription = lc.subscribe("sensor_data_0", listen)
while True:
lc.handle()
self.label_temp.setText(str(temp))
Любые мысли о том, как я могу обновить графический интерфейс для отображения показаний, которые я получаю от своих датчиков? Спасибо!