我已经成功地外包在我PyQt4的GUI昂贵的程序来工人的QThread防止GUI从去响应。 不过,我想在GUI等到工作线程处理完毕继续执行自己的代码。
立即在我脑海中的解决方案是让线程发出信号时,完整的(据我所知,QThreads已经做到这一点),然后执行代码的其余部分之前寻求在主窗口中这个信号。 这是黑客入侵?
我知道的QThread提供这里描述的等待()函数,但用法我不清楚。 我想,我想称之为主线程,但我不知道如何调用,在我的应用程序...?
我已经成功地外包在我PyQt4的GUI昂贵的程序来工人的QThread防止GUI从去响应。 不过,我想在GUI等到工作线程处理完毕继续执行自己的代码。
立即在我脑海中的解决方案是让线程发出信号时,完整的(据我所知,QThreads已经做到这一点),然后执行代码的其余部分之前寻求在主窗口中这个信号。 这是黑客入侵?
我知道的QThread提供这里描述的等待()函数,但用法我不清楚。 我想,我想称之为主线程,但我不知道如何调用,在我的应用程序...?
这是一个非常糟糕的计划。 分手了“线程行动之前”和“之后线程行动”。 在“线程操作后”应该是由线程可以预示着QueuedConnection开了槽。
不要在GUI事件处理程序不等待!
如果GUI线程调用wait()
工作线程对象的功能,它不会从它返回,直到从它的主要功能工作者线程返回。 这是不是你想要做什么。
你描述使用信号和槽的解决方案似乎让很多有意义的我。 或者你可以只使用一个布尔值。