Qt问题:
我正在从在线程 A 上运行的对象 A 向在线程 B 上运行的对象 B 发送信号。我还通过覆盖对象 B 中的虚拟事件函数来处理自定义事件。
面临的问题:当对象 A 发出任何信号时,对象 B 中的相应插槽不会被调用,而不是被对象 B 覆盖的事件函数被调用。那么如何从事件函数接收的 QEvent 对象中提取信号发送的参数对象 B 或如何推迟该事件以便调用相应的插槽。
对象 A 在 gui 线程中运行,它的职责是更新 gui。对象 B 正在实现 gui 逻辑并在不同的线程中运行。对象 A 正在通过信号和槽向对象 B 通知 gui 更改。对象 B 还处理来自另一个不是 QThread 的线程的事件。我为此使用自定义事件,并为此使用 postEvent() 函数来通知 Object B 。对象 B 具有用于接收自定义事件的覆盖事件函数。现在的问题是,当我从对象 A 向对象 B 发送任何信号以通知与 gui 相关的更改时,它被事件函数捕获并且相应的插槽没有被调用