在Qt中,可以使用QTimer类来实现非阻塞式的计时。以下是一个简单的示例代码:\n\ncpp\n#include <QCoreApplication>\n#include <QTimer>\n#include <QDebug>\n\nint main(int argc, char *argv[]) \n{\n QCoreApplication a(argc, argv);\n\n // 创建一个QTimer对象\n QTimer timer;\n\n // 设置定时器触发的时间间隔,单位为毫秒\n timer.setInterval(1000);\n\n // 连接定时器的timeout()信号到自定义的槽函数\n QObject::connect(&timer, &QTimer::timeout, [&]() {\n qDebug() << "Timeout!";\n });\n\n // 启动定时器\n timer.start();\n\n // 运行事件循环\n return a.exec();\n}\n\n\n在上面的示例中,我们创建了一个QTimer对象,并设置了定时器的触发时间间隔为1秒。然后,我们将定时器的timeout()信号连接到一个自定义的槽函数中,每当定时器触发时,槽函数将会被调用,并输出"Timeout!"。最后,我们启动了定时器,并运行了Qt的事件循环。\n\n这样,定时器就会在非阻塞式的情况下进行计时,不会阻塞主线程的执行。

Qt 非阻塞计时器实现 - QTimer 示例

原文地址: https://www.cveoy.top/t/topic/p0LL 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录