Russian Qt Forum
Ноябрь 25, 2024, 18:16 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: таймер  (Прочитано 2366 раз)
mishanja1988
Гость
« : Апрель 18, 2009, 08:50 »

Здравствуйте, помогите пожалуйста с таймером..
мне нужно, что бы он посекундно отсчитывал время назад и показывал это (например 40, 39, 38 и т.д.)
получилось только рекурсией, можно как-нибудь еще?
Записан
Rcus
Гость
« Ответ #1 : Апрель 18, 2009, 09:04 »

Код
C++ (Qt)
int sduration = ...;
const int mss = 1000;
QTimeLine *tl = new QTimeLine(sduration * mss, this);
tl->setDirection(QTimeLine::Backward);
tl->setUpdateInterval(mss);
tl->setCurveShape(QTimeLine::LinearCurve);
tl->setFrameRange(0,sduration);
connect(tl, SIGNAL(frameChanged(int)), this, SLOT(on_framech(int)));
connect(tl, SIGNAL(finished()), tl, SLOT(deleteLater()));
tl->start();
 
в слот on_framech(int) будет приходить оставшееся время. Еще можно повесить обработчик на сигнал finished() чтобы что-то делать
UPD: можно заменить порядок аргументов в setFrameRange, тогда можно избавиться от setDirection Улыбающийся
« Последнее редактирование: Апрель 18, 2009, 15:12 от Rcus » Записан
mishanja1988
Гость
« Ответ #2 : Апрель 18, 2009, 10:11 »

Спасибо большое, я все понял Улыбающийся
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.157 секунд. Запросов: 20.