Qtデバッグ出力
- qDebug()
- qInfo()
- qWarning()
- qCritical()
※ログの重要度 qDebug() < qInfo() < qWarning() < qCritical()
使用例
#include <QCoreApplication>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
qDebug() << "Debug Message";
qInfo() << "Info Massage";
qWarning() << "qWarning Mwssage";
qCritical() << "qCritical Message";
return a.exec();
}
QString文字列の引用符を消す
QString str = "hoge";
qDebug() << str; // 「"hoge"」引用符付きで表示される
qDebug().noquote() << str; // 「hoge」引用符無しで表示される
qDebug << "hoge"; // 「hoge」引用符無しで表示される
関数名を表示する
Q_FUNC_INFO // 関数名表示マクロ
__LINE__ // 行表示マクロ
クラス名を表示する
class MyLabel : public QLabel
~略~
qDebug() << MyLabel::staticMetaObject.className(); // 「MyLabel」と表示される
QLabel *label = new MyLabel;
qDebug() << label->metaObject()->className(); // 「MyLabel」と表示される
走り書きメモ
- デバッグレベルの区別方法
- qInstallMessageHandler関数
- qSetMessagePattern関数
- QLoggingCategoryクラス
- リリースビルド時のログレベル設定(qmakeはあるっぽい、CMakeでもできる?)