crossplatform.ru

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

> подсчитать примерное время, выполнения операции
void*
  опции профиля:
сообщение 7.2.2009, 1:22
Сообщение #1


Программист-самоучка
***

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

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




Репутация:   3  


есть ли в Qt классы для того чтобы примерно подсчитать время выполнения какой-либо операции? т.е. допустим выполняется какая-то операция и нужно на прогрессбар посылать значение в процентах о выполнении...
слышал что-то насчет классов QFuture* - они этим занимаются? может кто-то уже работал с этими классами и может объяснить как их использовать?

П.С. в моем случае мне нужно как-то "мониторить" выполнение цикла, в котором выполняется слот n-ное кол-во раз

Сообщение отредактировал void* - 7.2.2009, 1:29
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
void*
  опции профиля:
сообщение 8.2.2009, 1:27
Сообщение #2


Программист-самоучка
***

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

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




Репутация:   3  


нет, я имел ввиду парралельно с выполнением операции показывать прогресс ее выполнения, поэтому таймеры тут не катят

кстати QFutureWatcher вроде бы это может, но я так и не понял как вызвать нужную мне функцию, параметром которой является QString, для каждого элемента QStringList
пробовал так(почти как в примере):
пример
QProgressDialog dialog;
dialog.setLabelText(tr("Analyzing files..."));
QFutureWatcher<void> futureWatcher;
connect(&futureWatcher, SIGNAL(finished()), &dialog, SLOT(reset()));
connect(&futureWatcher, SIGNAL(progressRangeChanged(int, int)), &dialog, SLOT(setRange(int, int)));
connect(&futureWatcher, SIGNAL(progressValueChanged(int)), &dialog, SLOT(setValue(int)));
futureWatcher.setFuture(QtConcurrent::map(filenames.toVector(), slotOpenFile));
dialog.exec();
futureWatcher.waitForFinished();
qDebug() << "Canceled - " << futureWatcher.future().isCanceled();

но ругается на строчку futureWatcher.setFuture(QtConcurrent::map(filenames.toVector(), slotOpenFile));
видимо что-то с параметрами напутал, но не могу найти нигде описания типов параметров функции QtConcurrent::map()

Сообщение отредактировал void* - 8.2.2009, 1:29
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


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


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




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