2015-02-16 14 views
7

ho disattivare la qDebug() i messaggi scrivendoCome attivare e disattivare qDebug() i messaggi

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

nel file .pro. Funziona bene Vorrei sapere se esiste un modo per abilitare i messaggi qDebug() usando il codice sorgente. Vorrei inviarlo come argomento per l'applicazione. Quindi per impostazione predefinita avrò i messaggi qDebug() disabilitati, ma con un argomento che afferma di accendere i messaggi qDebug() ho bisogno di qDebug() abilitato. È possibile farlo?

Ogni aiuto è apprezzato

+2

È possibile consultare la documentazione di 'qInstallMsgHandler'. – vahancho

+0

@vahancho quella riga nel file .pro non si ferma console.log per me –

+1

@mohammadalabid, perché lo aggiungi al file .pro? Dovrebbe essere aggiunto al tuo codice sorce. Si prega di consultare la risposta su questa domanda e documenti Qt: http://doc.qt.io/qt-5/qtglobal.html#qInstallMessageHandler. – vahancho

risposta

6

È possibile aggiungere la propria funzione per la gestione dei messaggi di debug di Qt con qInstallMsgHandler

Questo vi permetterà di controllare se stampare i messaggi.

4

È possibile controllare QDebug (e tutti i messaggi) in fase di esecuzione tramite alcune opzioni:

  1. QLoggingCategory che consente di utilizzare le variabili di ambiente o file di configurazione. Ad esempio con Qt 5.6 puoi fare: QT_LOGGING_RULES="*.debug=false;driver.usb.debug=true" attiva qDebug per tutto tranne il debug USB. Se hai bisogno di una configurazione più complicata, o se utilizzi Qt 5.5 o versioni precedenti puoi attivare e disattivare singoli messaggi di debug tramite un file qtlogging.ini.
  2. QT_MESSAGE_PATTERN può essere utilizzato anche per controllare l'output dei messaggi e anche per fare formatting.
Problemi correlati