Использую QProcess для запуска внешнего приложения Rar.exe и через readAllStandardOutput() получаю % текущей операции и вывожу его в QProgressBar.
В общем код запуска приложения:
QProcess proc;
proc.start(exeParam,paramList);
while(proc.waitForReadyRead(-1))
{
int outPrecent=getPrecentFromOutput(proc.readAllStandardOutput());
...
}
По запуске приложения rar.exe получаю переодически вывод и достаю % как и должжно быть.
Я решил попробовать то же проделать с 7-zip для сжатия файлов. Достал консольную версию 7za.exe
но в итоге waitForReadyRead() возвращает значения консоли только по завершении архивирования,
при обращении к proc.readAllStandardOutput() с помощью таймера по средине операции функция возвращает пустой результат.
Как прочитать вывод через QProcess чтобы всюду работало?
Чем же могут отличятся консольные выводы этих программ?
Может еще что-то надо задать в QProcess?