首先在頭文件中包含
#include<QDebug>
當開發者需要為一個裝置、文件、字符串或者控制台,寫出調試和跟蹤信息時,該類被使用。
在需要使用的地方插入:
qDebug("intensity:%d",intensity[0][2]); // (%d表示整數)
輸出結果:
intensity:195
// 注:
%a,%A //讀入一個浮點值(僅C99有效)
%c //讀入一個字符
%d //讀入十進制整數
%i //讀入十進制,八進制,十六進制整數
%o //讀入八進制整數
%x,%X //讀入十六進制整數
%s //讀入一個字符串,遇空格、制表符或換行符結束。
%f,%F,%e,%E,%g,%G //用來輸入實數,可以用小數形式或指數形式輸入。
%p // 讀入一個指針
%u //讀入一個無符號十進制整數
%n //至此已讀入值的等價字符數
%[] //掃描字符集合
%% //讀%符號
qDebug():輸出調試信息
Example:
qDebug( "my window handle = %x", myWidget->id() );
一般情況下,使用qDebug()就可以獲得一個缺省的QDebug對象
qDebug()<<”Date:”<<QDate::currentDate(); qDebug()<<”Types:”<<QString(“QString(“String”)”<<QChar(‘x’)<<QRect(0,10,50,40)); qDebug()<<”Custom coordinate type:”<<coordinate;
這構造一個QDebug對象,它使用接受一個來自QtDebugMsg的QtMsgType值的構造器。相同的,qWaring(),qCritical(),qFatal()也返回QDebug對象為相應的消息類型。
//qWarning():輸出警告信息
void f( int c ) { if ( c > 200 ) qWarning( "f: bad argument, c == %d", c ); } //qFatal():輸出致命錯誤信息 ,程序自動被迫中止
int divide( int a, int b ) { if ( b == 0 ) // program error
qFatal( "divide: cannot divide by zero" ); return a/b; }
這個類也提供一些構造器為其他的情況,包括一個構造器,它接受QFile或者任何QIODevice子類,他被用來寫調試信息到文件和其他設備。這個構造器也接受QString,用來寫string以顯示。