qDebug
头文件:#include < QDebug >
qmake: QT += core
简介
QDebug类提供了用于调试信息的输出流。
只要开发人员需要将调试或跟踪信息写入设备,文件,字符串或控制台,就可以使用QDebug。
基本用法
在通常情况下,调用qDebug()函数来获取用于编写调试信息的默认QDebug对象是非常有用的。
qDebug() << "Date:" << QDate::currentDate();
qDebug() << "Types:" << QString("String") << QChar('x') << QRect(0, 10, 50, 40);
qDebug() << "Custom coordinate type:" << coordinate;
这使用构造函数构造一个QDebug对象,该构造函数接受QtDebugMsg的QtMsgType值。 同样,qWarning(),qCritical()和qFatal()函数也会为相应的消息类型返回QDebug对象。
该类还为其他情况提供了几个构造函数,包括接受QFile的构造函数或用于将调试信息写入文件和其他设备的任何其他QIODevice子类。 接受QString的构造函数用于写入字符串以进行显示或序列化。
格式化选项Formatting Options
QDebug格式化输出,使其易于阅读。 它会自动在参数之间添加空格,并在QString,QByteArray,QChar参数周围添加引号。
可以通过space(),nospace()和quote(),noquote()方法来调整这些选项。 此外,QTextStream操纵器可以被传送到QDebug流中。
QDebugStateSaver将对格式的更改限制为当前范围。 resetFormat()将选项重置为默认值。
将自定义类型写入流
许多标准类型可以写入QDebug对象,Qt提供对大多数Qt值类型的支持。 要添加对自定义类型的支持,需要实现一个流式运算符,如下例所示:
QDebug operator<<(QDebug debug, const Coordinate &c)
{
QDebugStateSaver saver(debug);
debug.nospace() << '(' << c.x() << ", " << c.y() << ')';
return debug;
}
成员函数
查阅Qt助手