Qt 应用程序之间通过 QProcess 进行通信
Posted
技术标签:
【中文标题】Qt 应用程序之间通过 QProcess 进行通信【英文标题】:Communication between Qt applications via QProcess 【发布时间】:2019-10-07 15:01:02 【问题描述】:我正在尝试在 2 个 Qt 应用程序之间实现双向通信, 看到这可能通过一个主应用程序通过一个包装的 QProcess 启动第二个应用程序并以两种方式连接信号来实现......
我不明白如何从 QProcess 启动的应用程序中获取访问权限(反之亦然 - 如何向启动的应用程序发送信号)?
谢谢。
【问题讨论】:
你没有得到哪一部分?使用QProcess
启动第二个进程,然后使用read*
和write*
函数从/向其中读取/写入数据。不过,您不能使用QProcess
发送自己的信号。为此,您必须使用 Qt D-Bus 类。
Qt
提供了通过stdout
、stderr
和stdin
在QProcess
之间进行通信的轻松访问,但您可以使用套接字、IPC 等实现自己的机制。例如跨度>
【参考方案1】:
K 所以我使用 QLocalServer/Socket 来实现我的 2 个 Qt 应用程序之间的通信。 我在 Linux 上,所以这种基于 IPC 的通信正是我所需要的。
如果有需要的人知道,可以为服务器/客户端共享一些简单的代码sn-ps(双向读取/发送)。
【讨论】:
以上是关于Qt 应用程序之间通过 QProcess 进行通信的主要内容,如果未能解决你的问题,请参考以下文章