Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум на CrossPlatform.RU _ Qt Ввод/Вывод, Сеть. Межпроцессное взаимодействие _ Отображение консольного вывода на виджете так же, как консоли

Автор: Mehanoid 7.2.2011, 0:16

Хочу отобразить в окне вывод программы, но не знаю, как сделать, чтобы он выглядел так же, как в консоли.
На примере с wget. Если запустить его через QPocess::start() и читать вывод через QPocess::readAllStandardOutput(), то у меня выйдет нечто в этом роде:

    0K .......... .......... .......... .......... ..........  0% 54,5K 97m24s
    50K .......... .......... .......... .......... ..........  0%  160K 65m15s
   100K .......... .......... .......... .......... ..........  0%  125K 57m38s
   150K .......... .......... .......... .......... ..........  0%  153K 51m53s
   200K .......... .......... .......... .......... ..........  0% 2,04M 42m0s
   250K .......... .......... .......... .......... ..........  0%  157K 40m39s
   300K .......... .......... .......... .......... ..........  0% 1,49M 35m20s

Если же я его запускаю в консоли, показывается такой вот прогрессбар:
67% [==========================================>                     ] 2 462 535   2,34M/s

То же самое хотелось бы вывести и в моём приложении. Это реализуемо?

Автор: Алексей1153 7.2.2011, 8:07

А что мешает применить QLabel ?

Автор: Mehanoid 7.2.2011, 18:31

Тут дело не в в QLabel... Просто в wget, насколько я понимаю, используются управляющие символы, чтобы заставить прогрессбар двигаться в консольном режиме, а Qt их не совсем понимает, хотя тут дело и ещё в чём-то, потому что сам формат вывода другим становится

Автор: Алексей1153 7.2.2011, 18:35

Mehanoid, выводи весь рисунок заново каждый раз :)

Автор: Mehanoid 7.2.2011, 18:56

Да разницы-то особой нету, что добавлять в конец, что целиком выводить

Автор: Litkevich Yuriy 7.2.2011, 20:00

Qt воспринимает \r как перевод строки, т.е. в МАС-стиле.
не знаю можно ли заставить её не заниматься отсебятиной.

Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)