在Qt 4.7中将标准输出管道输入QLabel

时间:2011-01-17 07:16:23

标签: c++ qt qt4 qprocess piping

我正在尝试在Qt小部件中包装大学c ++代码。

然而,他的节目标准输出必然需要被观察。截至目前,我假设我将构建一个GUI并打开一个将运行其程序的QProccess(然后通过该管道发送命令)。

所以我的问题是,无论如何要读取该程序的标准输出并将其显示在qlabel或类似的东西中(即我应该研究哪些功能)?

1 个答案:

答案 0 :(得分:4)

当进程运行时,只要标准输出上有可用数据,QProcess对象就会发出readyReadStandardOutput()信号。您可以订阅信号,从连接的插槽中调用readAllStandardOutput(),并将数据附加(不替换)到您的小部件。如果您不需要在数据到达时立即显示,您可以等到该过程完成,然后将所有输出读取为一次。