У меня небольшая проблема. Я пытаюсь создать программное обеспечение для мониторинга, которое отслеживает несколько напряжений и другие вещи. Я использую QT 4 Designer и pyqt для создания пользовательского интерфейса.
Мой код структурирован следующим образом (каждый из них является модулем):
Нажмите кнопку «Перейти» ---> запустить концентратор ----> подключиться к устройству и вернуть массив информации ---> использовать информацию и отображать соответствующие значения для различных QLabels.
Я устанавливаю QLabels, используя self.label.setText (данные здесь).
Проблема, с которой я столкнулся, теперь заключается в том, что я пытаюсь заставить кнопку запуска запускать цикл, который неоднократно вызывает модуль стартового концентратора (который, в свою очередь, будет получать информацию с устройства, а затем вызывать модуль, который печатает эту информацию в QLabels) каждые 4 секунды или около того.
В качестве теста я вызывал функцию 3-4 раза подряд с интервалом time.sleep(4). Я обнаружил, что пользовательский интерфейс обновляется только ПОСЛЕ последнего вызова для запуска концентратора.
Я почти уверен, что проблема в том, что пользовательский интерфейс обновляется только тогда, когда ничего не обрабатывается. Но я не совсем уверен, как заставить все QLabel обновляться после каждой итерации. Я пробовал self.label.repaint(), но это ничего не дало.
Кто-нибудь может помочь?