使用外部可执行文件作为管道的 Qt 'way' 是什么?
What is the Qt 'way' for using an external executable as a pipe?
我有一个使用 Qt 框架的 GUI 应用程序和另一个只处理来自 stdin
的一些文本并在 stdout
中显示其输出的应用程序。
如何可移植地使用 Qt 应用程序中的第二个可执行文件?
主应用程序的用户将创建需要处理的数据。
(结果要回显给用户)
第二个应用程序不能know/depend主应用程序的任何东西,所以开发像抽象的服务器是不可能的。
我不想为此编写 Linux 特定代码,因为应用程序将来需要 运行 在其他平台上。
您可以使用 QProcess
启动第二个应用程序,提供输入并读取其输出:
QProcess process;
process.start("secondApp");
process.waitForStarted();
process.write(input, count);
process.closeWriteChannel();
process.waitForFinished();
QByteArray output;
output = process.readAllStandardOutput();
我有一个使用 Qt 框架的 GUI 应用程序和另一个只处理来自 stdin
的一些文本并在 stdout
中显示其输出的应用程序。
如何可移植地使用 Qt 应用程序中的第二个可执行文件? 主应用程序的用户将创建需要处理的数据。 (结果要回显给用户)
第二个应用程序不能know/depend主应用程序的任何东西,所以开发像抽象的服务器是不可能的。
我不想为此编写 Linux 特定代码,因为应用程序将来需要 运行 在其他平台上。
您可以使用 QProcess
启动第二个应用程序,提供输入并读取其输出:
QProcess process;
process.start("secondApp");
process.waitForStarted();
process.write(input, count);
process.closeWriteChannel();
process.waitForFinished();
QByteArray output;
output = process.readAllStandardOutput();