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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: QTimer разбежка времени с системным  (Прочитано 2639 раз)
Mark_T
Гость
« : Апрель 16, 2011, 10:57 »

Всем мое здравствуйте! Проблема такая: использую QTimer для отображения часов которые ведут отсчет от заданного вермени. Как положено, время отображаю посекундно. Так вот при сравнении с системным времененм накапливается разбежка порядка 1 секунды в минуту (мое время отстает). Заранее благодарен за советы.

Код:

                hour=timeHspinBox->value();

min=timeMspinBox->value();

sec=timeSspinBox->value();


теперь по событию таймера timeout()

Код:
if (sec<60) {sec++;}

if (sec==60) { sec=0;

   min++;}

if (min==60) {hour++;

  min=0;}

if (hour==24){

   hour=0;  }

timeLabel->setText(QString::number(hour)+"-"+QString::number(min)+"-"+QString::number(sec));
Записан
SimpleSunny
Гость
« Ответ #1 : Апрель 16, 2011, 16:09 »

Где и как запускаете таймер?

Также проще будет использовать QTime.
Код
C++ (Qt)
QTime time(h, m, s);
time.start();
...
time.toString("hh-mm-ss");
Записан
kostya2vntu
Гость
« Ответ #2 : Апрель 17, 2011, 00:14 »

В документации по QTimer сказано, что временные интервалы зависят от системного таймера, который допускает разбежности, на винде эта разбежность может составлять до 60мс. Если надо точность - синхронизируйтесь с системным временем типа QDateTime::currentDateTime().
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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