【发布时间】:2011-09-10 01:09:03
【问题描述】:
我通过创建对象和使用 MoveToThread 函数来调用 QThread,就像它建议的那样
在我有循环的对象内部,我需要能够在迭代之间设置睡眠几秒钟(以更新主 GUI)搜索网络让我找到了这个链接:
http://www.qtcentre.org/threads/476-where-s-the-sleep%28%29-func
但这在线程内部不起作用,最好的方法是什么?
【问题讨论】:
-
您可能会考虑使用 QTimer 定期向您的线程发送信号 - 这样您的线程大部分时间都不会被阻塞,并且关闭您的应用程序之类的事情可能会发生得更快(因为您的主线程不必等待您的 QThread 在 QThread::wait() 返回之前完成睡眠)
-
Jeremy 是对的,您应该考虑其他可能性,在线程中休眠通常是使用中架构受限的标志。许多解决方案存在于 Qt 中,尤其是 Qt!也许一些代码可以帮助找到解决方案。