我有两个共享内存片段的Qt
个应用。
我希望能够从App2发出信号并从App1触发一个插槽。
首先,我需要使用QObject::connect()
将App2信号链接到App1插槽。
有没有一种方法可以连接两个不同的Qt
进程信号/插槽机制?我偶然发现了qt-remote-signals库发送远程信号,这是使用QDataStream
序列化对象。 QSharedMemory
使用相同的类。
或者我应该忘记连接任何东西并模拟信号/插槽行为?
这听起来真实吗?我是共享内存的新手。
答案 0 :(得分:1)
据我所知,您无法在进程之间连接信号/插槽。你也不可能知道自然的'如果另一个进程更改了QSharedMemory。
所以我认为你必须像你说的那样模拟它。
如果您需要从App1立即响应(不会使App 1检查时间太小),您可以使用QLocalSocket / Server或D-Bus使它们通信,但在这种情况下,您可以全部使用它们并管理所有通信,使QSharedMemory不必要。