2012-04-04 2 views
0

Все разработчики могли бы вы показать мне, как создать время обратного отсчета с помощью C++ Qt? Если вы можете, вы должны показать мне исходный код.Как создать время обратного отсчета с Qt?

+3

[Что вы пробовали?] (Http://mattgemmell.com/2008/12/08/what-have-you-tried/) Быстрый Google предоставляет ссылку на [документ о таймерах в Qt] (http://doc.qt.nokia.com/4.7/timers.html) и ссылку на класс [QTimer] (http://doc.qt.nokia.com/4.7/qtimer.html). –

+3

Добро пожаловать в переполнение стека. Это не то место, где мы можем дать вам учебник. Однако мы можем ответить на практические вопросы, связанные с проблемами, с которыми вы сталкиваетесь. Поэтому старайтесь развить это самостоятельно, и если вы застрянете, задайте ясный вопрос об этом, включая все необходимые детали. Тогда мы более чем рады помочь. – Bart

+0

Спасибо за вашу помощь^_ ^. То, что мне нужно от вас, только для меня достаточно. Благодаря! –

ответ

0

Вы можете использовать что-то в этом роде. Он вызывает timeOutSlot каждую секунду.

#define TIMEOUT 60 

... 
QTimer * timer = new QTimer(); 
connect(timer,SIGNAL(timeout()),this,SLOT(timeOutSlot())); 
timer->start(1000); 
... 

void timeOutSlot() 
{ 
    static int time = TIMEOUT; 
    time--; // decrement counter 
    if (time==0) // countdown has finished 
    { 
     // timeout 
    } 
    else // re-start counter 
    { 
     time->start(1000); 
    } 
} 
+3

Это неправильный способ сделать счетчик, если целью является отсчет 60 секунд. Событие таймера не будет выполняться ровно через 1000 мс. QTimer можно использовать для обновления отображения счетчика, но это не очень удобно для подсчета фактического времени. QElapsedTimer - лучший класс для этого. –