答案 0 :(得分:1)
对不起,不准确,我没有在我面前的推荐材料。我最近做到了这一点,非常直接。使用QProcess来启动数据包嗅探器,然后创建一个插槽来处理ReadyRead(?)信号。然后,ReadyRead插槽可以从进程中读取stdout和stderr,并将输出放到GUI上。
答案 1 :(得分:0)
如果要将外部程序的std输出传递给Qt程序,可以使用QTextStream并将其附加到stdin(参见docs)。
从那里你可以在程序周围传递QTextStream对象并使用QTextStream :: readLine()提取输入,将行附加到你的(例如)QTextEdit。
我不知道这是否可行,但您甚至可以从QTextStream :: device()获取QIODevice,然后将QIODevice :: readyRead()信号连接到您自己的插槽,以使所有内容都异步。 / p>