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????
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. 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.
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();