3
我是qt开发的新手,我想将QProcess的输出实时传输到textBrowser。我开始执行一个简单的回显命令,但程序的输出没有显示出来。 我在做什么错?在textBrowser中实时显示QProcess输出
QProcess p;
p.start("echo hye");
QByteArray byteArray = p.readAllStandardOutput();
QStringList strLines = QString(byteArray).split("\n");
QString line= p.readAllStandardOutput();
if(p.state()==QProcess::NotRunning)
ui->textBrowser->append("not running");
foreach (QString line, strLines){
ui->textBrowser->append(line);}
P.S.我在一台linux机器上。编辑: 我仍然无法在textBrowser中获得输出。
我更改了Qprocess参数并尝试了waitForStarted()和waitForReadyRead(),以便过程在时间开始并且结果可用。
我添加了waitForFinished(),以便进程在超出作用域时不会终止。
QProcess p;
p.start("echo", QStringList() << "hye");
p.waitForStarted();
QByteArray byteArray = p.readAllStandardOutput();
QStringList strLines = QString(byteArray).split("\n");
QString line= p.readAllStandardOutput();
if(p.state()==QProcess::NotRunning)
ui->textBrowser->append("not running");
ui->textBrowser->append(line);
p.waitForFinished();
能否请您发表一个很好的例子代码 – 2012-04-11 06:24:19
添加示例代码,希望这将有助于。 – Kunal 2012-04-11 06:42:47
我想在textBrowser中显示结果,但是此代码在qt的终端本身显示结果。 – 2012-04-11 23:54:03