Я хотел бы знать, как я могу захватить вывод команды, запущенной QProcess в PySide, чтобы ее можно было отобразить.
Как получить вывод команды, запущенной QProcess в PySide?
Ответы (2)
В итоге я использовал это:
# 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() также работает для стандартного вывода
person
polandeer
schedule
19.05.2012
QProcess qp;
qp.start("Yourcode");
qp.waitForFinished();
qDebug() << "qp:" << qp.readAll();
Для прямого чтения вы можете использовать такие функции, как canReadLine(),readyread(),waitforreadyread() и waitforbyteswriting().
Используйте эти функции в механизме signal-slot для сбора данных в реальном времени.
person
ScarCode
schedule
18.05.2012
Нет, не после завершения выполнения команды. Я имею в виду, как команда работает.
- person polandeer; 18.05.2012
Спасибо. Я думаю, что нашел другой ответ, хотя.
- person polandeer; 18.05.2012