Echtzeitanzeige der QProcess-Ausgabe in einem textBrowser

Ich bin ein Neuling in der QT-Entwicklung und möchte die Ausgabe von QProcess in Echtzeit auf einen TextBrowser übertragen. Ich habe mit der Ausführung eines einfachen Echobefehls begonnen, aber die Ausgabe des Programms wird nicht angezeigt. Was mache ich falsch????

<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. Ich bin auf einem Linux-Rechner.

EDIT: Ich kann die Ausgabe immer noch nicht in einem textBrowser bekommen.

Ich habe die Qprocess-Parameter geändert und sowohl waitForStarted () als auch waitForReadyRead () ausprobiert, damit der Prozess rechtzeitig startet und die Ergebnisse verfügbar sind.

Ich habe waitForFinished () hinzugefügt, damit der Prozess nicht beendet wird, wenn er den Gültigkeitsbereich verlässt.

<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>

Antworten auf die Frage(1)

Ihre Antwort auf die Frage