以下是一个使用QElapsedTimer进行阻塞的示例:

#include <QCoreApplication>
#include <QElapsedTimer>
#include <QDebug>

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

    QElapsedTimer timer;
    timer.start();

    // 阻塞1秒钟
    while (timer.elapsed() < 1000)
    {
        // 空循环
    }

    qDebug() << "Blocked for 1 second.";

    return a.exec();
}

在这个示例中,我们创建了一个QElapsedTimer对象timer,并使用start()方法开始计时。然后我们进入一个循环,直到经过了1秒钟的时间。在循环中,我们通过elapsed()方法获取经过的时间,并与1000毫秒进行比较。如果经过的时间小于1000毫秒,则继续循环。这样就实现了阻塞1秒钟的效果。

在循环外部,我们输出了一条消息来表示阻塞已经完成。然后我们调用QCoreApplication的exec()方法来启动Qt事件循环,以保持应用程序保持运行状态。

请注意,这种使用QElapsedTimer进行阻塞的方法是一种简单的方式,但并不是最佳的方式。在实际的应用程序中,更好的做法是使用Qt的定时器类(如QTimer)来实现延时操作,以避免阻塞主线程

QElapsedTimer阻塞的示例

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

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