crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> Отображение консольного вывода на виджете так же, как консоли
Mehanoid
  опции профиля:
сообщение 7.2.2011, 0:16
Сообщение #1


Новичок


Группа: Новичок
Сообщений: 3
Регистрация: 24.11.2010
Пользователь №: 2217

Спасибо сказали: 0 раз(а)




Репутация:   0  


Хочу отобразить в окне вывод программы, но не знаю, как сделать, чтобы он выглядел так же, как в консоли.
На примере с 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
Сообщение #2


фрилансер
******

Группа: Участник
Сообщений: 2890
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

Спасибо сказали: 215 раз(а)




Репутация:   34  


А что мешает применить QLabel ?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Mehanoid
  опции профиля:
сообщение 7.2.2011, 18:31
Сообщение #3


Новичок


Группа: Новичок
Сообщений: 3
Регистрация: 24.11.2010
Пользователь №: 2217

Спасибо сказали: 0 раз(а)




Репутация:   0  


Тут дело не в в QLabel... Просто в wget, насколько я понимаю, используются управляющие символы, чтобы заставить прогрессбар двигаться в консольном режиме, а Qt их не совсем понимает, хотя тут дело и ещё в чём-то, потому что сам формат вывода другим становится
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Алексей1153
  опции профиля:
сообщение 7.2.2011, 18:35
Сообщение #4


фрилансер
******

Группа: Участник
Сообщений: 2890
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

Спасибо сказали: 215 раз(а)




Репутация:   34  


Mehanoid, выводи весь рисунок заново каждый раз :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Mehanoid
  опции профиля:
сообщение 7.2.2011, 18:56
Сообщение #5


Новичок


Группа: Новичок
Сообщений: 3
Регистрация: 24.11.2010
Пользователь №: 2217

Спасибо сказали: 0 раз(а)




Репутация:   0  


Да разницы-то особой нету, что добавлять в конец, что целиком выводить
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 7.2.2011, 20:00
Сообщение #6


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9656
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Qt воспринимает \r как перевод строки, т.е. в МАС-стиле.
не знаю можно ли заставить её не заниматься отсебятиной.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 10.4.2020, 10:08