PyQt4 线程:将数据发送回线程
我正在编写一个带有 PyQt 前端的程序。为了确保 UI 不会冻结,我使用 QThreads 将信号发送回父级。现在,我已经达到了这样的程度:我需要我的线程停止运行,向父级发出信号,然后等待父级返回线程继续的批准(在用户与 UI 进行一些交互之后) 。
我一直在研究 QMutex 类,以及 QThread 的 wait 函数。
我应该如何正确地做到这一点?
I'm writing a program, with a PyQt frontend. To ensure that the UI doesn't freeze up, I use QThreads to emit signals back to the parent. Now, I have reached a point where I need my thread to stop running, emit a signal back to the parent, then wait on the parent to return an approval for the thread to continue (after the user interacts with the UI a little bit).
I've been looking into the QMutex class, along with QThread's wait function.
How should I go about doing this properly?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
一种方法是使用条件变量。
然而,在我的代码中,我更喜欢使用 Python 的内置 Queue 对象来同步线程之间的数据。当我这样做时,我使用 Python 线程而不是 PyQt 线程,主要是因为它允许我在没有实际 GUI 的情况下重用代码的非 GUI 部分。
One approach is using a condition variable.
In my code, however, I prefer using Python's built-in
Queue
objects to synchronize data between threads. While I'm at it, I use Python's threads as opposed to PyQt threads, mainly because it allows me to reuse the non-GUI part of the code without an actual GUI.