QProcess 调用cmd命令如何写参数?
我的QT版本是4.5的我想用QProcess去启动一个命令行窗口,运行命令行中的一个命令,运行完后关闭进程比如dir /?我该怎么写呢?菜鸟求助QProcess p;QStringList slist;slist<<" /c"<<"dir /?";p.execute("c:\\windows\\system32\\cmd.exe" ,slist);我是这样写的,但是在调用的时候发现进程一直没有结束,请问我是不是写错了?在读取cmd的输出时,我先等待while(!proc->waitForFinished());直到进程退出了,再读取预先由ready**信号触发的槽函数里已经读取出来的字符串。请问这样有问题吗?复制代码proc = new QProcess; connect(proc, SIGNAL(readyReadStandardOutput()), this, SLOT(readAllStdout())); connect(proc, SIGNAL(readyReadStandardError()),this, SLOT(readAllStderr())); proc->execute(str,arg);复制代码void HiProcess::readAllStdout(){ stdStr += proc->readAllStandardOutput().data();}void HiProcess::readAllStderr(){ errStr += proc->readAllStandardError().data();}QString HiProcess::readOutput(){ while(!proc->waitForFinished()); return QString(stdStr + errStr);}