Правильно обновить рестарт GUI из другого потока PyQT

Так что у меня есть процесс, который имеет свой собственный поток и пишет (добавляет) в output.txt. Также у меня есть графический интерфейс, который читает из этого output.txt. Я хочу обновить графический интерфейс всякий раз, когда есть новый контент в Output.txt. сейчас я делаю это путем выхода и повторного выполнения () GUI. Это работает, но выглядит ужасно.

class _do_scan(QtCore.QThread):
    trigger = QtCore.pyqtSignal()

    def __init__(self):
        QThread.__init__(self)

    def run(self):
        self.do_scan()  

    def do_scan():
        #when found smth and written to output.txt
        self.trigger.emit()

def main(options = None):

    app = QtGui.QApplication(sys.argv)

    scan_thread = _do_scan()
    scan_thread.start()  

    scan_thread.trigger.connect(lambda: app.quit())

    while scan_thread.isRunning():
        window = Window()
        window.show()   
        app.exec_()

    window = Window()
    window.show()   
    sys.exit(app.exec_())

Любая идея, как я могу справиться с этим лучше? я пытался использовать

    scan_thread.trigger.connect(lambda: window.update())
    scan_thread.trigger.connect(lambda: window.repaint())

но никто не работал

заранее спасибо

0 ответов

Другие вопросы по тегам