找回密码
 立即注册
收起左侧

如何从QT里面调用widonw 的command line

3
回复
5461
查看
[复制链接]
累计签到:4 天
连续签到:1 天
来源: 2013-10-3 08:41:11 显示全部楼层 |阅读模式

马上注册,查看详细内容!注册请先查看:注册须知

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
请问大家如何从QT里面调用windows里面的command line

例如我有一个aaa.exe可以从dos command line来执行,这个命令的参数是 -c 1 -d 0 > yourname.txt

所以完整的命令是  aaa -c 1 -d 0 >yourname.txt

void MainWindow::aaaf() {    QStringList args;    args << "-c 1 -d 0 >c:/yourname.txt";    QProcess *myProcess = new QProcess;    myProcess->start("c:/aaa.exe", args);}
但是运行以后没有生成文件,请问大家这是什么原因?


回复

使用道具 举报

累计签到:894 天
连续签到:1 天
2013-10-3 11:07:02 显示全部楼层
我觉得应该是这样,改一下其中两条语句
args << "c:/aaa.exe -c 1 -d 0 >c:/yourname.txt";
myProcess->start("cmd", args);
回复 支持 反对

使用道具 举报

累计签到:4 天
连续签到:1 天
2013-10-4 00:24:00 显示全部楼层
我昨天试了一下,可以了,应该是 args << "-c1" << "-d0";  myProcess->start("c:/aaa.exe",args); 这样就可以了,不过还有个问题,怎么样才可以把运行程序的输出读出来?
回复 支持 反对

使用道具 举报

累计签到:4 天
连续签到:1 天
2013-10-4 01:03:49 显示全部楼层
解决了,我的CODE如下。  
QProcess *myProcess = new QProcess;
    myProcess->start(program, args);
    if (!myProcess->waitForFinished())
        qDebug() << "Make failed:" << myProcess->errorString();
    else
        ui->textEdit->setPlainText(myProcess->readAll());
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了