crossplatform.ru

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

 
Ответить в данную темуНачать новую тему
> Вывод в кольсоль в ту же строку
NordWest
  опции профиля:
сообщение 19.5.2011, 15:55
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 86
Регистрация: 26.11.2008
Пользователь №: 433

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




Репутация:   0  


Как вот сделать, чтобы выводить в консоль, по qDebug например, не в новую строчку, а взамен предыдущей. Т.е. процент выполнения процесса в частности. Чтобы не куча строк писалась, а одна. В которой меняется число. Давно хотел узнать.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 19.5.2011, 17:05
Сообщение #2


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

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

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




Репутация:   94  


нужно вместо конца строки (перевод строки+возврат каретки) делать только возврат каретки - "\r".
пример:
QTextStream out(stdout);

out << trUtf8("Копирование:\n");
double current = 0;
foreach(QString sFileName, all){
    ++current;
    out << "Complete: "
        << ( (current * 100)/cnt) << qSetRealNumberPrecision(3)
        << "%    \r" << flush;
    
    // Делаем полезную работу
}
out << reset << endl << flush;
здесь qSetRealNumberPrecision(3) задаёт формат вывода в консоль (стандартный поток вывода), а reset - сбрасывает в исходное состояние настройки потока.

Т.к. qDebug() всегда делает "конец строки", то прийдётся глобально для всего приложения переопределять работу обработчиков qDebug(), qFatal(),...
(см. тут)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
NordWest
  опции профиля:
сообщение 19.5.2011, 18:10
Сообщение #3


Студент
*

Группа: Участник
Сообщений: 86
Регистрация: 26.11.2008
Пользователь №: 433

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




Репутация:   0  


Так просто, а какое счастье! Спасибо огромное за ликбез! :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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




RSS Текстовая версия Сейчас: 24.1.2019, 9:19