Programm mit QProcess starten und Ausgaben abfangen
Verfasst: 22. August 2007 17:27
Hintergrund
Da ich keine plattformunabhängige Möglichkeit gefunden habe die (u.a. von 7-Zip verwendete) LZMA-Kompression zu benutzen, hab ich mich entschlossen die Konsolenversion von 7-Zip zu benutzen (7za.exe), für die es auch eine Linux-Version gibt.
Problem
Ich möchte den Fortschritt der Kompression auslesen, um ihn in einem Fortschrittsbalken anzuzeigen.
Startet man das Programm in einer Windows-Konsole, wird der Fortschritt unten rechts ständig in Prozent aktualisiert (siehe erster Screenshot).
In Qt liefert mir QProcess::readyReadStandardOutput() aber nur am Ende die allerletzte Ausgabe, mit dem Inhalt, wie er auch in der Konsole als letztes angezeigt wird (siehe letzter Screenshot).
Was kann ich machen, um an die Statusinformationen während dem Komprimieren zu gelangen?
Bin für jeden Hinweis dankbar,
FaS
Da ich keine plattformunabhängige Möglichkeit gefunden habe die (u.a. von 7-Zip verwendete) LZMA-Kompression zu benutzen, hab ich mich entschlossen die Konsolenversion von 7-Zip zu benutzen (7za.exe), für die es auch eine Linux-Version gibt.
Problem
Ich möchte den Fortschritt der Kompression auslesen, um ihn in einem Fortschrittsbalken anzuzeigen.
Startet man das Programm in einer Windows-Konsole, wird der Fortschritt unten rechts ständig in Prozent aktualisiert (siehe erster Screenshot).
In Qt liefert mir QProcess::readyReadStandardOutput() aber nur am Ende die allerletzte Ausgabe, mit dem Inhalt, wie er auch in der Konsole als letztes angezeigt wird (siehe letzter Screenshot).
Was kann ich machen, um an die Statusinformationen während dem Komprimieren zu gelangen?
Bin für jeden Hinweis dankbar,
FaS