Qt QProcess实时输出重定向

Qt QProcess实时输出重定向,qt,qt-creator,qprocess,Qt,Qt Creator,Qprocess,我正在尝试将QProcess live的输出重定向到我的控制台。 以下是我正在使用的代码: QProcess *process = new QProcess(this); connect (process, SIGNAL(readyReadStandardOutput()), this, SLOT(processOutput())); connect (process, SIGNAL(readyReadStandardError()), this, SLOT(processOutput()));

我正在尝试将QProcess live的输出重定向到我的控制台。 以下是我正在使用的代码:

QProcess *process = new QProcess(this);
connect (process, SIGNAL(readyReadStandardOutput()), this, SLOT(processOutput()));
connect (process, SIGNAL(readyReadStandardError()), this, SLOT(processOutput()));
process->start(program);

void MainWindow::processOutput()
{
    qDebug() << process->readAllStandardOutput();
}
在my main.cpp中,我注册了消息处理程序类,如下所示:

qInstallMessageHandler(MessageHandler::handleMessages);

m_appOutput是一个QTextEdit,显示在打印所有my app输出消息的主窗口中。

您确定问题出在QProcess而不是qDebug需要刷新的事实吗?阅读标准输出后,您可以通过流式传输和“endl”到qDebug进行检查。感谢您的回复。在更改为qDebug readAllStandardOutput@TheDarkKnight后没有任何区别实际上我正在将所有qDebug消息重定向到QTextEdit。如果我直接打印消息,那么我就可以看到它的实况。因此,我猜问题与QTextEdit没有正确刷新有关。有什么帮助吗?请显示您实际正在执行的操作的代码。@TheDarkKnight我已经添加了一些编辑。如果你需要更多信息,请告诉我。
qInstallMessageHandler(MessageHandler::handleMessages);