C 如何在linux平台上将控制台输出重定向到qt中的GUI
我正在做一个名为包嗅探的项目。它的工作原理类似于以太。它捕获并显示所有到达主机的包。为了开发这个项目,我在linux平台上工作,并使用QT进行开发C 如何在linux平台上将控制台输出重定向到qt中的GUI,c,linux,qt,C,Linux,Qt,我正在做一个名为包嗅探的项目。它的工作原理类似于以太。它捕获并显示所有到达主机的包。为了开发这个项目,我在linux平台上工作,并使用QT进行开发 我能够在控制台中显示数据包信息,我想将这些数据包信息重定向到我的GUI。有可能吗 对不起,不准确,我面前没有参考资料。我最近就是这么做的,非常直接。使用QProcess启动数据包嗅探器,然后创建一个插槽来处理ReadyRead(?)信号。ReadyRead插槽可以从进程中读取stdout和stderr,并将输出放到GUI上 对不起,不准确,我面前没有
对不起,不准确,我面前没有参考资料。我最近就是这么做的,非常直接。使用QProcess启动数据包嗅探器,然后创建一个插槽来处理ReadyRead(?)信号。ReadyRead插槽可以从进程中读取stdout和stderr,并将输出放到GUI上 对不起,不准确,我面前没有参考资料。我最近就是这么做的,非常直接。使用QProcess启动数据包嗅探器,然后创建一个插槽来处理ReadyRead(?)信号。ReadyRead插槽可以从进程中读取stdout和stderr,并将输出放到GUI上 如果要将外部程序的std输出通过管道传输到Qt程序,可以使用QTextStream并将其连接到stdin(请参阅) 从那里,您可以在程序周围传递QTextStream对象,并使用QTextStream::readLine()提取输入,将这些行附加到(例如)QTextEdit
我不知道这是否有效,但您甚至可以从QTextStream::device()中获取QIODevice,然后将QIODevice::readyRead()信号连接到您自己的插槽,使所有内容都异步。如果您将外部程序的std输出传输到您的Qt程序,您可以使用QTextStream并将其连接到stdin(见附件) 从那里,您可以在程序周围传递QTextStream对象,并使用QTextStream::readLine()提取输入,将这些行附加到(例如)QTextEdit
我不知道这是否有效,但您甚至可以从QTextStream::device()获取QIODevice,然后连接QIODevice::readyRead()向您自己的插槽发送信号,使所有内容都异步。您正在编写的程序是执行数据包嗅探的程序,还是外部程序?您正在编写的程序是执行数据包嗅探的程序,还是外部程序?谢谢leegent…现在我能够从控制台获得输出。我已经使用了这两种方法…您应该标记o这些回复中有一个是正确答案:)谢谢leegent…现在我可以从控制台获得输出..我已经使用了这两种方法…您应该将其中一个回复标记为正确答案:)