Qt 使用時にコンソールに印刷する方法 質問する

Qt 使用時にコンソールに印刷する方法 質問する

私は、コンピューター グラフィックスのプログラムを作成するために Qt4 と C++ を使用しています。デバッグではなく実行時にコンソールにいくつかの変数を出力できるようにする必要がありますが、coutライブラリを追加しても機能しないようです。これを行う方法はありますか?

ベストアンサー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" );

コメントで指摘されているように、qDebugメッセージQT_NO_DEBUG_OUTPUTが定義されている場合は削除されることに注意してください。

stdout が必要な場合は、次のような方法を試すことができます (Kyle Strand が指摘しているように):

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

次のように呼び出すことができます。

qStdOut() << "std out!";

おすすめ記事