在QT中创建一个简单的时钟

时间:2016-10-01 16:02:11

标签: c++ qt clock

我想在我的Qt程序中创建一个简单的时钟:QLabel每秒更新一次。

QLabel名称:label_clock

我的时钟"脚本":

while (true)
{
   QString time1 = QTime::currentTime().toString();
   ui->label_clock->setText(time1);
}

但是当我把它放到我的程序中时,你已经知道它将停止在这个脚本上执行它 - 虽然总是会给出真的,所以脚本下的其余代码永远不会执行 - >程序崩溃。

如何使此脚本生效?我想创建一个简单的时钟,每秒更新一次。

1 个答案:

答案 0 :(得分:2)

您可以使用QTimer。尝试这样的事情:

QTimer *t = new QTimer(this);
t->setInterval(1000);
connect(t, &QTimer::timeout, [&]() {
   QString time1 = QTime::currentTime().toString();
   ui->label_clock->setText(time1);
} );
t->start();

当然,您应该启用c ++ 11支持(添加到pro文件CONFIG += c++11)。