我想在我的Qt程序中创建一个简单的时钟:QLabel每秒更新一次。
QLabel名称:label_clock
我的时钟"脚本":
while (true)
{
QString time1 = QTime::currentTime().toString();
ui->label_clock->setText(time1);
}
但是当我把它放到我的程序中时,你已经知道它将停止在这个脚本上执行它 - 虽然总是会给出真的,所以脚本下的其余代码永远不会执行 - >程序崩溃。
如何使此脚本生效?我想创建一个简单的时钟,每秒更新一次。
答案 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
)。