20

書いて qDebug() メッセージを無効にします

CONFIG(release, debug|release):DEFINES += QT_NO_DEBUG_OUTPUT

.pro ファイルで。これはうまくいきます。ソースコードを使用して qDebug() メッセージを有効にする方法があるかどうか知りたいです。アプリケーションへの引数として送りたいと思います。したがって、デフォルトでは qDebug() メッセージを無効にしますが、qDebug() メッセージをオンにするように指定する引数を使用して、qDebug() を有効にする必要があります。これを行うことは可能ですか?

どんな助けでも大歓迎です

4

3 に答える 3

14

いくつかのオプションを使用して、実行時に QDebug (およびすべてのメッセージ) を制御できます。

  1. QLoggingCategory環境変数または構成ファイルを使用できるようにします。たとえば、Qt 5.6 では次のことができます: QT_LOGGING_RULES="*.debug=false;driver.usb.debug=true"USB デバッグ以外のすべてに対して qDebug をオンにします。より複雑な設定が必要な場合、または Qt 5.5 以前を使用している場合は、qtlogging.ini ファイルを介して個々のデバッグ メッセージをオンまたはオフにすることができます。
  2. QT_MESSAGE_PATTERNは、メッセージ出力の制御や書式設定にも使用できます。
于 2016-09-21T22:26:21.470 に答える
11

qInstallMsgHandlerを使用して、Qt デバッグ メッセージを処理する独自の関数を追加できます。

これにより、メッセージを印刷するかどうかを制御できます。

于 2015-02-16T11:50:28.190 に答える