7

あたかも qDebug を使用する Qt コードのビットを見てきました。printf()

qDebug( format, ... );

ほとんどの場合、次のように使用されますstd::cout

qDebug() << "one " << var_one;

使用法の違いは何ですか?また、どちらを使用するのが正しい/良いのはいつですか? オンラインの Qt ヘルプは、関数のバージョンを参照しているように見えますが、説明していません。

4

1 に答える 1

7

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();

于 2014-04-02T22:31:18.133 に答える