qt 等待1s退出while循环 qtimer
可以使用QTimer来实现等待1秒后退出while循环的功能。
示例代码:
#include <QCoreApplication>
#include <QTimer>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
bool flag = true;
while (flag) {
// do something
// 等待1秒钟
QTimer::singleShot(1000, &a, [&flag](){
flag = false;
});
QCoreApplication::processEvents();
}
return a.exec();
}
在while循环中使用QTimer::singleShot()函数来实现等待1秒钟的功能。该函数会在1秒钟后执行指定的槽函数,这里我们使用lambda表达式来设置flag为false,从而退出while循环。
需要注意的是,在使用QTimer::singleShot()函数时需要调用QCoreApplication::processEvents()函数来处理事件循环,否则定时器事件可能无法被触发
原文地址: http://www.cveoy.top/t/topic/fEyt 著作权归作者所有。请勿转载和采集!