Wyświetlanie w czasie rzeczywistym wyjścia QProcess w przeglądarce tekstowej
Jestem początkującym w rozwoju qt i chcę przenieść wyjście QProcess do przeglądarki tekstowej w czasie rzeczywistym. Zacząłem od wykonania prostego polecenia echo, ale wyjście programu nie jest wyświetlane. Co ja robię źle????
<code>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);} </code>
P.S. Jestem na komputerze z linuxem.
EDYCJA: Nadal nie jestem w stanie uzyskać wyjścia w textBrowser.
Zmieniłem parametry Qprocess i wypróbowałem zarówno waitForStarted (), jak i waitForReadyRead (), aby proces rozpoczął się na czas, a wyniki były dostępne.
Dodałem waitForFinished (), dzięki czemu proces nie kończy się, gdy wychodzi poza zakres.
<code>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(); </code>