PyQt5:pyqtSignals 线程安全吗?

PyQt5 : are pyqtSignals thread safe?

我正在学习如何使用 PyQt5,但有很多地方让我难以理解。

我已经开始实现 QThreads 来替换我在我的 UI 中使用的线程,因为我意识到混合线程和 QThreads 可能会导致以后出现问题,并且已经开始同时使用 pyqtSignal

到目前为止,我已经看到 pyqtSygnal 需要在 class 级别上实现才能工作(将它放在 class 构造函数中不起作用)

在我目前使用的体系结构中,我有一个在主线程中实例化的 pyqtSignal,然后由所有子线程使用。这是因为有一个 class 负责我所有程序的日志。

我不确定这是否是一个好的实现。

这是我的问题:

信号是 QObject 中为数不多的线程安全元素之一,因此没有必要保护数据。因此您可以将不同类型的信号连接到同一个插槽。

由于信号是线程安全的,因此 Qt 建议将生活在不同线程中的 QObject 进行通信。