【发布时间】:2011-01-17 07:16:22
【问题描述】:
我正在尝试将大学 C++ 代码包装在 Qt 小部件中。
但是,他的程序标准输出必然需要查看。到目前为止,我假设我将构建一个 GUI 并打开一个 QProccess 来运行他的程序(然后通过该管道发送命令)。
所以我的问题是无论如何要读取该程序的标准输出并将其显示在 qlabel 或类似的东西中(即我应该研究哪些函数)?
【问题讨论】:
标签: c++ qt qt4 qprocess piping
我正在尝试将大学 C++ 代码包装在 Qt 小部件中。
但是,他的程序标准输出必然需要查看。到目前为止,我假设我将构建一个 GUI 并打开一个 QProccess 来运行他的程序(然后通过该管道发送命令)。
所以我的问题是无论如何要读取该程序的标准输出并将其显示在 qlabel 或类似的东西中(即我应该研究哪些函数)?
【问题讨论】:
标签: c++ qt qt4 qprocess piping
当进程运行时,只要标准输出上有可用数据,QProcess 对象就会发出readyReadStandardOutput() 信号。您可以订阅信号,从连接的插槽调用 readAllStandardOutput() 并将数据附加(而不是替换)到您的小部件。如果您不需要在数据到达后立即显示,您可以等到该过程完成,然后一次性读取所有输出。
【讨论】: