QProcess 调用cmd命令如何写参数?

weixin_38051538 2019-09-19 05:42:50
我的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);}
...全文
96 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复

476

社区成员

发帖
与我相关
我的任务
社区描述
其他技术讨论专区
其他 技术论坛(原bbs)
社区管理员
  • 其他技术讨论专区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧