我有一个使用Qt框架的GUI应用程序和另一个只处理stdin
中的一些文本并在stdout
中显示其输出的应用程序。
如何便携地使用Qt应用程序中的第二个可执行文件?主应用程序的用户将创建需要处理的数据。(结果将显示给用户)
第二个应用程序不能知道/依赖于主应用程序的任何内容,因此开发类似服务器的抽象是不可能的。
我不想为此编写Linux特定的代码,因为应用程序将来需要在其他平台上运行。
您可以使用QProcess
启动第二个应用程序,提供输入并读取其输出:
QProcess process;
process.start("secondApp");
process.waitForStarted();
process.write(input, count);
process.closeWriteChannel();
process.waitForFinished();
QByteArray output;
output = process.readAllStandardOutput();