可以使用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()函数来处理事件循环,否则定时器事件可能无法被触发

qt 等待1s退出while循环 qtimer

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

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