2015-02-16 20 views
7

deaktiviere ich die qDebug() -Nachrichten vonSo aktivieren und deaktivieren qDebug() -Nachrichten

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

in der .pro Datei zu schreiben. Das funktioniert gut. Ich würde gerne wissen, ob es eine Möglichkeit gibt, qDebug() Nachrichten mit dem Quellcode zu aktivieren. Ich möchte es als Argument für die Anwendung senden. Daher werden standardmäßig die qDebug() Nachrichten deaktiviert, aber mit einem Argument, das besagt, dass ich die qDebug() Nachrichten einschalten soll, muss ich qDebug() aktiviert haben. Ist es möglich, dies zu tun?

Jede Hilfe ist

geschätzt
+2

Sie können die 'qInstallMsgHandler'-Dokumentation einsehen. – vahancho

+0

@vahancho diese Zeile in. Pro-Datei nicht stoppen console.log für mich –

+1

@mohammadalabid, warum fügen Sie es zu. Pro-Datei? Es sollte deinem Zaubercode hinzugefügt werden. Bitte lesen Sie die Antwort zu dieser Frage und die Qt-Dokumentation: http://doc.qt.io/qt-5/qtglobal.html#qInstallMessageHandler. – vahancho

Antwort

6

Sie können Ihre eigene Funktion für den Umgang mit Qt Debug-Nachrichten mit qInstallMsgHandler

hinzufügen Dies ermöglicht es Ihnen, ob zu steuern, um die Nachrichten zu drucken.

4

können Sie steuern qDebug (und alle Nachrichten) zur Laufzeit über ein paar Optionen:

  1. QLoggingCategory Welche Sie Umgebungsvariablen oder Konfigurationsdateien verwenden. Zum Beispiel mit Qt 5.6 können Sie tun: QT_LOGGING_RULES="*.debug=false;driver.usb.debug=true" schaltet qDebug für alles außer USB debug. Wenn Sie ein komplizierteres Setup benötigen oder wenn Sie Qt 5.5 oder früher verwenden, können Sie einzelne Debug-Meldungen über eine qtlogging.ini-Datei ein- und ausschalten.
  2. QT_MESSAGE_PATTERN kann auch verwendet werden, um die Nachrichtenausgabe zu steuern sowie tun formatting.
Verwandte Themen