这篇博客简单的讲解一下Qt “qDebug()”的简单用法,它可以像C语言那样格式化输出,也可以像C++那样“>>”输出。
格式化输出
-
输出十进制、八进制和十六进制:
qint32 num = 255; qDebug("十进制:%d", num); qDebug("八进制:%o", num); qDebug("十六进制:%x", num);
注意:qint32
等同于int
类型。 -
输出浮点类型
qreal PI = 3.14; qDebug("PI:%.2f", PI);
注意:qreal
等同于double
类型。 -
打印‘%’
qint32 rete = 95; qDebug("酒精浓度%d%%", rete); // %%打印“%”
-
输出字符串
QString boy("这个男孩很特别"); qDebug("%s", boy); /*会出现乱码*/ qDebug("%s", qPrintable(boy)); /*会出现乱码*/ qDebug("%s", qUtf8Printable(boy)); // C语言方式输出(正确输出方式)
建议使用第三条式子格式化输出字符串,因为他会自动转换为utf8格式进行输出,才不会输出乱码。
“>>”输出
注意:使用此方式输出任意的变量,都需要加上头文件:#include <QDebug>
- 去除与保留“双引号”输出
qDebug() << boy;
qDebug().noquote() << boy; // 去除字符串的双引号打印
qDebug().quote() << boy; // 保留字符串的双引号打印(与qDebug() << boy;用法一致)
-
有空格打印与无空格打印输出
有些符号他会自动补充空格,例如:[ ] 、{ }等qDebug() << "[" << "你好" << "]"; // 有空格打印 qDebug().nospace() << "[" << "你好" << "]"; // 无空格打印 qDebug().space() << "[" << "你好" << "]" << "."; // 有空格打印(字符串两端都有空格)
-
整型、浮点型、字符打印输出
qint32 _int = 12345; qreal _double = 1.2345; char _char = 'c'; qDebug() << "qint32(int):" << _int << endl << "qreal(double):" << _double << endl << "uchar(char):" << _char << endl;
char
类型也可以写成qint8
,但是他输出的是对应ASCII码值中的整数值,笔者也很纳闷,没有深入了解,有兴趣的朋友可以自行了解一下。
总结:
Qt 中的qDebug()的内容也就基本上是这些了,其实它的用法和C/C++的用法基本类型,懂得C/C++语言的朋友,也一定会使用qDebug()的。