次のコードを使用して、QProcess から出力を取得しようと考えていました。
// Start the process
process.start(tr("php-cgi www/test.php"),QIODevice::ReadWrite);
// Wait for it to start
if(!process.waitForStarted())
return 0;
// Continue reading the data until EOF reached
QByteArray data;
while(process.waitForReadyRead())
data.append(process.readAll());
// Output the data
qDebug(data.data());
qDebug("Done!");
私が期待しているのは、プログラムからの出力がデバッグコンソールに表示されることですが、表示されるのは次のとおりです。
終わり!
そんなこと知ってる:
- 最後にメッセージが出力されるので、プログラムは正常に開始されます。
- 端末でまったく同じコマンドを実行すると、期待どおりに長いテキスト文字列が生成されるため、プログラムは出力を出力します。
ここで何が間違っていますか?