小编典典

使用 Qt 时如何打印到控制台

all

我正在使用 Qt4 和 C++
制作一些计算机图形程序。我需要能够在运行时在控制台中打印一些变量,而不是调试,但cout即使我添加库似乎也不起作用。有没有办法做到这一点?


阅读 80

收藏
2022-08-01

共1个答案

小编典典

如果它足以打印到stderr,您可以使用以下最初用于调试的流:

#include<QDebug>

//qInfo is qt5.5+ only.
qInfo() << "C++ Style Info Message";
qInfo( "C Style Info Message" );

qDebug() << "C++ Style Debug Message";
qDebug( "C Style Debug Message" );

qWarning() << "C++ Style Warning Message";
qWarning( "C Style Warning Message" );

qCritical() << "C++ Style Critical Error Message";
qCritical( "C Style Critical Error Message" );

// qFatal does not have a C++ style method.
qFatal( "C Style Fatal Error Message" );

尽管正如评论中所指出的,但请记住,如果QT_NO_DEBUG_OUTPUT定义了 qDebug 消息,则会删除

如果你需要标准输出,你可以尝试这样的事情(正如 Kyle Strand 指出的那样):

QTextStream& qStdOut()
{
    static QTextStream ts( stdout );
    return ts;
}

然后,您可以按如下方式调用:

qStdOut() << "std out!";
2022-08-01