Qt笔记_调试qDebug

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助手

你可能感兴趣的:(Qt)