我有一个包含QThread
的类。在这个类的初始化函数中,线程应该被启动。这工作正常。在线程中我有一个 while(bool certainCondition){}
这个 certainCondition
应该通过信号/槽连接来改变。
问题是在 while 运行期间信号/槽没有打开。
最佳答案
您没有在线程中运行事件循环,或者您在 while 循环中阻塞了很长时间。在您将控制权返回给事件循环之前无法调用您的插槽,这将在您完成 while 循环之后发生。
作为解决方法,您可以尝试调用 QCoreApplication::processEvents()在你的 while 循环中。
关于c++ - QThreads 中断槽和信号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16442283/