C控制台应用程序和Qt gui之间的通信



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

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

我现在使用的是Qt 5.0.2。

谢谢!

您可以使用QProcess,它将充当IODevice,允许写入(到stdin)或读取(从stdout/stderr)

查看文档中的示例http://qt-project.org/doc/qt-5.0/qtcore/qprocess.html例如

  • 你的Qt应用程序将启动你的C程序作为一个QProcess
  • 它将与write/readAllStandardOutput()进行交互
  • 等待它完成

您正在寻找QProcess(来自Qt文档):

 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

最新更新