Qt - QTimeEdit как средство просмотра таймера - PullRequest
0 голосов
/ 17 июня 2010

У меня есть QTimeEdit, который я хочу установить на какое-то значение, и каждую секунду я хочу уменьшить на 1 значение, которое показывает QTimeEdit.Поэтому, когда это будет 0, я хочу иметь QMeesageBox, который говорит: «Ваше время вышло».Могу я как-нибудь сделать это с интерфейсом QTimeEdit, или я должен использовать QTimer?

1 Ответ

3 голосов
/ 17 июня 2010

Вы можете использовать QTimeEdit для отображения времени, но вам придется использовать QTimer для уменьшения времени каждую секунду.

Вы можете сделать что-то вроде этого:

timeEdit->setTime(...); //set initial time
QTimer timer;
timer.start(1000); //timer will emit timeout() every second
connect(&timer, SIGNAL(timeout()), this, SLOT(slotTimeout()));

void slotTimeout()
{
    QTime time = timeEdit->time().addSecs(-1);
    timeEdit->setTime(time);

    if (time == QTime(0, 0))
        //time is zero, show message box
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...