从其他线程发出信号

Posted

技术标签:

【中文标题】从其他线程发出信号【英文标题】:Emitting signals from other threads 【发布时间】:2010-02-03 19:46:29 【问题描述】:

我有一个类,它有一个由主线程和 3 个其他线程调用的方法(2 个 QThreads 和 1 个使用 QtConcurrent::run())。在这种方法中,我有时会发出一个信号。这是可以的还是会导致问题,因为我没有发出属于调用线程的信号。

【问题讨论】:

【参考方案1】:

是的,这完全没问题。 QT 透明地为您进行线程间通信。如果需要触发的插槽在另一个线程中,则信号将排队,并在目标线程进入其事件循环时接收。

您可以尝试一下,看看在调试器中会发生什么。

【讨论】:

以上是关于从其他线程发出信号的主要内容,如果未能解决你的问题,请参考以下文章

第一个进入的线程如何向其他并发线程发出相同方法结束的信号?

pyqt从线程线程发出信号

如何从 non_GUI 类和我们可以在主 GUI 类中检测到的非 GUI 线程发出信号

pyqt4在线程中向主线程中的插槽发出信号

PyQt5 - 如何从工作线程发出信号以通过 GUI 线程调用事件

如何向 Qt 中 QThread 类的特定对象发出信号?