Я хотел бы знать, как я могу захватить вывод команды, запускаемой QProcess в PySide, чтобы ее можно было отобразить.Как получить результат выполнения команды QProcess в PySide?
5
A
ответ
1
Я закончил с использованием этого:
# Create runner
self.runner = QProcess(self)
# Make sure newInfo gets all output
self.runner.readyReadStandardError.connect(self.newErrInfo)
# Run the command
self.runner.start(command)
# Once it's started set message to Converting
self.parentWidget().statusBar().showMessage("Converting.")
Тогда позже в классе:
def newErrInfo(self):
newString = str(self.runner.readAllStandardError())
print(newString, end=" ")
readAllStandardOutput() также работает на стандартный вывод
1
QProcess qp;
qp.start("Yourcode");
qp.waitForFinished();
qDebug() << "qp:" << qp.readAll();
Для чтения жить можно использовать такие функции, как canReadLine(), readyread(), waitforreadyread() и waitforbyteswritten().
Используйте эти функции в signal-slot механизм для записи данных в реальном времени.
Нет, не после того, как команда закончит работу. Я имею в виду, когда команда запущена. – polandeer
Я обновил свой ответ. проверьте это – ScarCode
Спасибо. Я думаю, что нашел другой ответ. – polandeer