c++ - Qt - QTimeEdit 作为计时器查看器

标签 c++ qt timer

我有一个 QTimeEdit,我想将其设置为某个值,并且每一秒我都想将显示 QTimeEdit 的值减 1。所以当它为 0 时,我想要一个 QMeesageBox,上面写着“你的时间已经结束了。”。我可以通过 QTimeEdit 界面实现这一点,还是应该使用 QTimer?

最佳答案

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

关于c++ - Qt - QTimeEdit 作为计时器查看器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3059768/

相关文章:

c++ - 重构导致链接器出现重复问题

c++ - 如何在动态创建 MFC 控件时重新创建资源编辑器使用的样式?

python - 我如何告诉类方法等待,直到捕获到来自 QDialog 类方法的信号?

c - Arduino定时器中断采样

java - 将计时器添加到 Java Swing

.net - .net 计时器有多可靠?

c++ - n 个元素的二叉搜索树的数量

c++ - 为什么 memcpy 到栈上内存比堆上内存快得多?

android - 将 Qt 网络功能与不同 OpenSSL 版本一起使用

linux - QT可以打开一个Linux终端然后写入吗?