如何让Qt 的程序等待一段时间

如何让Qt 的程序等待一段时间,第1张

开启一个局部的事件循环,让其执行100ms后自己退出,似乎很不错。写来看看:

QEventLoop eventloop

QTimer::singleShot(100, &eventloop, SLOT(quit()))

eventloop.exec()

创建事件循环

启动定时器,让其100ms后触发事件循环的quit()槽

启动事件循环

后面这种方法可以不影响其他线程的响应,又可以达到等待的目的。

blocks 是阻塞的意思.

这个waitForFinished(2000)是让程序程等待process完成.就是在process完成前不做任何事,阻塞在那里.并在process完成后发射finished()信号.并返回真.

2000的意思是如果在2秒钟后process仍没有完成.就timeout退出.并返回假

如果process在start后就成功返回个真.程序也就不会阻塞两秒.当然也就会继续执行后面的语句了啊.


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11616811.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存