2014-06-16 124 views
2

您好我正在从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(); 
} 

回答

2

QProcess::startDetached是不是一个成员函数,它是一个静态函数,所以

proc.startDetached(...) 

等同于:

QProcess::startDetached(...) 

因此有一个在任何国家或输出你的proc分离过程的变量。如果您想要将流程作为应用程序的子流程启动并读取其输出,请使用start()方法。