Qt的延时函数

阻塞延时

使用QThread类的msleep、sleep、usleep函数
优点:

  • 使用简单,都是静态函数,引入头文件后可以直接调用
  • 精确度高,可以精确到微秒

缺点

  • 这几个函数的作用是强制当前线程休眠,非ui线程倒是无所谓,如果是ui线程,界面会卡死

非阻塞延时

利用Qt的事件循环结合while循环,方法如下

QTime timer = QTime::currentTime().addMSecs(frameTime * 1000);
while (QTime::currentTime() < timer)
	QCoreApplication::processEvents();

优点

  • 非阻塞,可以在ui线程中使用

缺点

  • 实现相对麻烦,需要写好多代码
  • 精度低,只能精确到毫秒
发布了103 篇原创文章 · 获赞 28 · 访问量 7万+

猜你喜欢

转载自blog.csdn.net/mumufan05/article/details/103315413