Выполнение вывода в реальном времени на PythonQT и отправка ввода ключа в команду - PullRequest
1 голос
/ 21 февраля 2020

Мне нужна помощь или / и предложения здесь, я делаю программу Python с GUI, используя pyQT, но мне нужно вывести команду подпроцесса реального времени в браузер текста, чтобы пользователь мог видеть, есть ли любая ошибка и сообщение об ошибке, альтернативно сделать индикатор выполнения и прервать программу, говоря пользователю, что была ошибка, и, возможно, сохранить журнал, или любую другую идею, которая могла бы работать, я уже нашел что-то подобное в inte rnet:

process = Popen([command],stdout=PIPE)
                while True:
                    line = process.stdout.readline()
                    if not line:
                        break
                    QtWidgets.QApplication.processEvents()
                    self.textBrowser.append(str(line.strip()))

И это работает, но не выводит вывод в режиме реального времени, только когда команда завершает sh, а также останавливает GUI во время работы.

Часть этой проблемы, которую я имею, есть кое-что еще, команда, которую я пытаюсь выполнить, попросит пользователя нажать Enter, когда есть ошибка для продолжения, поэтому, принимая все это, нет никакого способа встраивать терминал в программе python или открыть новый терминал и запустить там команду? Таким образом, пользователь увидит вывод в реальном времени и возможные ошибки и нажмет Enter, если есть какая-либо ошибка для продолжения.

Это для Linux

Так есть идеи? Буду признателен за любую идею / предложение / помощь, спасибо!

1 Ответ

0 голосов
/ 23 февраля 2020
...