我想构建一个基于两个单独过程的应用程序。其中之一(过程1)使用QT4来访问旧版代码库的功能。另一个(过程2)是使用QT5的应用程序层。
我需要从过程2访问进程1的功能,我需要从过程1中访问过程2的结果。
任何人都可以建议通过IPC连接这两个过程的最佳做法?
http://doc.qt.io/qt-4.8/ipc.html
根据链接,您必须在TCP/IP(qnetworkAccessManager等)或共享内存之间进行选择(qsharedMemory)。在您的情况下,当您在Windows上工作时,dbus并不是一个好主意。我还可以建议您查看Qprocess,通过使您的QT5应用程序执行QT4应用程序并从标准输出中收集结果。
这在很大程度上取决于您需要交换多少数据以及与遗产的东西有多大的能力。
个人,如果可能的话,我会选择QPROCESS。