在Qt中,你可以使用QTimer
类来实现计时器功能。以下是一个从零开始的精确到毫秒的计时器示例,能够实时输出从零开始增加的时间:
#include <QCoreApplication>
#include <QDebug>
#include <QDateTime>
#include <QTimer>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
// 创建计时器对象
QTimer timer;
// 设置定时器精度为毫秒级别
timer.setTimerType(Qt::PreciseTimer);
// 定义起始时间和当前时间变量
qint64 startTime = QDateTime::currentMSecsSinceEpoch();
qint64 currentTime;
// 连接定时器的timeout()信号到槽函数
QObject::connect(&timer, &QTimer::timeout, [&]() {
currentTime = QDateTime::currentMSecsSinceEpoch();
qDebug() << "经过时间(ms):" << (currentTime - startTime);
});
// 启动定时器,间隔设为1毫秒
timer.start(1);
return a.exec();
}
这段代码创建了一个精确到毫秒的计时器,并通过每次触发timeout()
信号来更新当前时间并输出与起始时间的差值。请注意,由于系统调度和处理延迟等因素,实际结果可能会略有偏差。
内容由零声教学AI助手提供,问题来源于学员提问