Привет я запускаю отдельный процесс из Qt, используя QProcess. Я хочу прочитать консольный вывод процесса в QString. Вот код
#include <QCoreApplication>
#include <QProcess>
#include <QDebug>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QProcess proc;
proc.startDetached("C:\\WINDOWS\\system32\\WindowsPowerShell\\v1.0\\powershell.exe",
QStringList() << "/c" << "c:\\Qt\\Qt5.3.0\\Tools\\QtCreator\\bin\\tryScript\\firstBatch.bat");proc.waitForFinished();
qDebug() << proc.readAllStandardOutput();
return a.exec();
}
QProcess::startDetached
не является функцией-членом, это статическая функция, поэтому
proc.startDetached(...)
эквивалентно :
QProcess::startDetached(...)
Следовательно, в вашем proc
переменная для отдельного процесса. Использовать start()
метод, если вы хотите запустить процесс как подпроцесс вашего приложения и прочитать его вывод.