2

我有一个用 C 编写的控制台应用程序,它只是从用户那里获取一个整数,并根据给定的数字打印一个文本。我想要一个基于 Qt 的 GUI,可以将整数发送到 C 程序,并读取该程序发送的字符串。但我不知道我怎么可能让他们交流。有任何想法吗?

仅供参考:我不想将我的 C 程序合并到 Qt 中。他们需要保持分开。

我目前正在使用 Qt 5.0.2。

谢谢!

4

2 回答 2

5

您可以使用QProcess将表现为IODevice允许写入(到标准输入)或读取(从标准输出/标准错误)

查看http://qt-project.org/doc/qt-5.0/qtcore/qprocess.html文档中的示例以获取详细示例

  • 您的 Qt 应用程序会将您的 C 程序作为 QProcess 启动
  • 它将通过 write / readAllStandardOutput() 与之交互
  • 等待它完成
于 2013-07-08T11:58:29.213 回答
2

您正在寻找 QProcess(来自 Qt-Doc):

 QObject *parent;
 ...
 QString program = "./path/to/Qt/examples/widgets/analogclock";
 QStringList arguments;
 arguments << "-style" << "motif";

 QProcess *myProcess = new QProcess(parent);
 myProcess->start(program, arguments);

您可以talk通过渠道与流程。

于 2013-07-08T11:58:37.020 回答