在QT中创建简单的时钟

Creating a simple Clock in QT

本文关键字:时钟 简单 创建 QT      更新时间:2023-10-16

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

QLabel name: label_clock

My clock "script":

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

但是当我将它传入我的程序时,你已经知道它将在这个脚本中停止执行它- while将始终返回true,因此脚本下的其余代码将永远不会执行->程序崩溃。

我该怎么做才能使这个脚本工作?我想创建一个简单的时钟,每秒更新一次

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