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

时间:2013-07-08 11:51:05

标签: c qt user-interface console-application communication

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

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

我现在正在使用Qt 5.0.2。

谢谢!

2 个答案:

答案 0 :(得分:5)

您可以使用QProcess作为IODevice,允许写入(到stdin)或读取(从stdout / stderr)

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

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

答案 1 :(得分: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通过渠道进行处理。