Qt - QTimeEdit作为计时器查看器

时间:2010-06-17 07:47:07

标签: c++ qt timer

我有一个QTimeEdit,我希望将其设置为某个值,每秒我想将显示QTimeEdit的值减少1。因此当它为0时,我想要一个QMeesageBox,上面写着“你的时间已经过去了。”。我可以使用QTimeEdit接口,或者我应该使用QTimer吗?

1 个答案:

答案 0 :(得分:3)

您可以使用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
}