Wie bekomme ich den Befehl output system () in Qt?

Ich benutze den Befehl system () in Qt. und ich möchte die Ausgabe erhalten und sie den Benutzern zeigen. mein befehl ist:

system("echo '" + rootPass.toAscii() + "' | su - root -c 'yum -y install " + packageName.toAscii() + "'");

Dieser Befehl kann nicht ausgeführt werden, wenn ich ihn in QProcess verwende (Funktion starten oder ausführen), aber wenn ich diesen Befehl in QProcess ausführen kann, kann ich eine Ausgabe mit erhaltenQProcess::readAllStandardOutput() Funktion.

Auch wenn ich ">" im Systembefehl verwendet habe, um die Ausgabe in einer Datei zu speichern, erhalte ich die Ausgabe, wenn das Paket vollständig installiert ist. wie unten:

system("echo '" + rootPass.toAscii() + "' | su - root -c 'yum -y install " + packageName.toAscii() + "' > result.out");

Gibt es eine Idee zum Ausführen dieses Befehls mit QProcess oder zum Abrufen der Ausgabe des Befehls system (), sobald jede Zeile geschrieben wurde?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage