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