あたかも qDebug を使用する Qt コードのビットを見てきました。printf()
qDebug( format, ... );
ほとんどの場合、次のように使用されますstd::cout
qDebug() << "one " << var_one;
使用法の違いは何ですか?また、どちらを使用するのが正しい/良いのはいつですか? オンラインの Qt ヘルプは、関数のバージョンを参照しているように見えますが、説明していません。
qDebug(pattern, object1, object2)
それは基本的に昔ながらfprintf(stderr, pattern, object1, object2)
のint x; qDebug("%s\n", x);
. GCC はこれをキャッチしますが、コンパイラはパターンが適切かどうかを常に判断できるとは限りません。
qDebug() << object << ...;
ドキュメントに記載されているように、私は常にを使用します
QtDebug を含めると、より便利な構文も利用できます。
qDebug() << "Brush:" << myQBrush << "Other value:" << i;
この構文では、関数は QtDebugMsg メッセージ タイプを使用するように構成された QDebug オブジェクトを返します。各項目の間に自動的に単一のスペースを入れ、最後に改行を出力します。多くの C++ および Qt タイプをサポートしています。
ほとんどの Qt オブジェクトを qDebug() << ... に渡して、読み取り可能な方法でレンダリングすることができます
たとえば試してみてくださいqDebug() << QTime::currentTime();