QElapsedTimer阻塞的示例
以下是一个使用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)来实现延时操作,以避免阻塞主线程
原文地址: http://www.cveoy.top/t/topic/ij6Y 著作权归作者所有。请勿转载和采集!