我无法让QProcess读取我的VBScript的任何输出。该脚本可以单独执行,也可以从QProcess调用,并输出到QCreator的Application Output,因此我知道我的VBS正在执行。要解决问题,我已将我的VBS切换为:
WScript.StdOut.WriteLine("Hi")
Qt-side我试过了:
在MainWindow构造函数中:
connect(Process,SIGNAL(readyReadStandardOutput()),this,SLOT(processDone()));
插槽:
void MainWindow::processDone()
{
qDebug()<<"Out";
/*QString str;
str.append(Process->readAllStandardOutput());
qDebug()<<str;*/
}
void MainWindow::runProcess()
{
QString script = "cscript";
QStringList args;
args<<QString(QDir::currentPath()+ "/myVBs.vbs")<<"//NoLogo";
Process->execute(script,args);
}
答案 0 :(得分:1)
QProcess::execute
是一种静态方法,因此Process->execute(script, args)
相当于QProcess::execute(script, args)
,即根本不使用您的实例Process
。使用
Process->start( script, args );