0

我遵循 MVC 设计。我有三个控制器部件,它们在主 GUI 线程中运行。还有另一个处理一些 I/O 内容的工作线程。一旦工作线程完成其任务,所有三个控制器都应该收到通知。谁能建议我解决这个问题?

我正在使用 PyQT。那么有什么办法吗?将工作线程中的事件订阅到多个控制器部分?

4

1 回答 1

1

最简单的方法是在工作线程中发出一个信号。创建从工作线程的信号到控制器插槽的三个连接,你应该很高兴。

Qt 中的信号/槽连接是线程安全的,可以按预期工作。只有具有插槽的对象所在的线程才需要有一个事件循环,这很好,因为在您的情况下,插槽属于控制器,它位于具有事件循环的 GUI 线程中。

有关更多详细信息,请参阅有关QObjects 和线程的文档。

于 2013-05-20T18:04:27.720 回答