Qt 使用共享内存序列化信号/插槽QObject
我有两个Qt 使用共享内存序列化信号/插槽QObject,qt,signals-slots,qsharedmemory,Qt,Signals Slots,Qsharedmemory,我有两个Qt应用程序共享一个内存段 我希望能够从App2发出信号并从App1触发插槽。 首先,我需要使用QObject::connect()将App2信号链接到App1插槽 有没有连接两个不同的Qt进程信号/插槽机制的好方法?我偶然发现库发送远程信号,它使用QDataStream序列化对象QSharedMemory使用相同的类 或者我应该忘记连接任何东西而只是模拟信号/插槽行为吗 从App2写入内存段 无论何时从App1更改段,都要阅读该段(如何知道何时更新?) 从App1发出自定义信号 从A
Qt
应用程序共享一个内存段
我希望能够从App2发出信号并从App1触发插槽。
首先,我需要使用QObject::connect()
将App2信号链接到App1插槽
有没有连接两个不同的Qt
进程信号/插槽机制的好方法?我偶然发现库发送远程信号,它使用QDataStream
序列化对象QSharedMemory
使用相同的类
或者我应该忘记连接任何东西而只是模拟信号/插槽行为吗
听起来现实吗?我不熟悉共享记忆 据我所知,进程之间无法连接信号/插槽。此外,如果另一个进程更改了QSharedMemory,您也无法“自然地”知道 所以我认为你必须像你说的那样模拟它
如果您需要App1的即时响应(而不使App1的检查时间太短),您可以让他们使用QLocalSocket/Server或D-Bus进行通信,但在这种情况下,您可以与他们一起管理所有通信,从而使QSharedMemory变得不必要 听起来是我发现的一个很好的总结。我将挖掘D-Bus协议。