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

Posted

技术标签:

【中文标题】如何从 non_GUI 类和我们可以在主 GUI 类中检测到的非 GUI 线程发出信号【英文标题】:how to emit a signal from a non_GUI class and from a non-GUI thread which we can detect in main GUI class 【发布时间】:2014-05-07 10:41:15 【问题描述】:

我想将来自其他类的图像显示到 QLabel 中,但要通知 GUI 新框架可用。我需要从 non_GUI 类和非 GUI 线程发出 Signal。

有什么办法吗?

【问题讨论】:

您查看过QThread 文档吗?那里有一个从不同线程发出信号的示例。 【参考方案1】:

signal 可以从任何继承 QObject 的类对象中发出。如果签名兼容,signal 可以在任何slot 中捕获。您可以通过 non-GUI 类继承 QObject。然后为特定对象连接signal-slot。但由于涉及多线程,您应该小心任何共享数据访问。也正确了解connection types和thread affinity

【讨论】:

以上是关于如何从 non_GUI 类和我们可以在主 GUI 类中检测到的非 GUI 线程发出信号的主要内容,如果未能解决你的问题,请参考以下文章

从 Frida 的非主线程调用 API 来修改应用程序的 GUI

如何在 Java 中创建自定义 GUI 组件? (需要开始提示)

如何从 PyQT5 窗口访问 PyQGIS 地图画布

如何避免从工作线程到 GUI 线程的主体传播

QT 在主类之外声明 Mainwindow

如何将java包和子包作为程序运行?