qDebug 格式化输出
时间: 2023-09-21 19:11:13 浏览: 191
qDebug是Qt框架中的调试工具,用于输出调试信息。其格式化输出方式与printf或cout有相似之处,可以使用类似于printf的格式字符串。以下是一些常见的格式化输出方式:
1. 输出整数:
```
int i = 10;
qDebug("i = %d", i);
```
2. 输出浮点数:
```
float f = 3.14;
qDebug("f = %f", f);
```
3. 输出字符串:
```
QString str = "Hello, World!";
qDebug("str = %s", qPrintable(str));
```
4. 输出16进制数:
```
int i = 255;
qDebug("i = 0x%x", i);
```
5. 输出指针地址:
```
QString *pStr = new QString("Hello, World!");
qDebug("pStr = %p", pStr);
```
注意:在Qt中,字符串需要使用qPrintable函数转换为char*类型才能输出。同时,如果输出的是指针地址,需要使用%p格式化符号。
相关问题
qDebug() 输出浮点数
对于浮点数的输出,你可以使用`qDebug()`函数结合`QString::number()`方法来实现。下面是一个示例代码:
```cpp
#include <QDebug>
// ...
float number = 3.14159;
// 将浮点数转换为字符串并输出
qDebug() << QString::number(number, 'f', 2);
```
在上述示例中,我们使用`QString::number()`方法将浮点数 `number` 格式化为保留两位小数的字符串,并将其传递给`qDebug()`函数进行输出。这样,你就可以在调试输出中看到浮点数的结果了。
请注意,`'f'` 参数指定了浮点数的格式化方式,`2` 参数指定了小数点后保留的位数。你可以根据需要自行调整这两个参数。
QTime格式化输出
以下是QTime格式化输出的例子:
```cpp
QTime time = QTime::currentTime();
QString timeString = time.toString("hh:mm:ss.zzz");
qDebug() << "Time: " << timeString;
```
这个例子中,我们使用了QTime::currentTime()函数获取当前时间,然后使用toString()函数将时间格式化为"hh:mm:ss.zzz"的形式,最后输出格式化后的时间字符串。其中,"hh"表示小时,"mm"表示分钟,"ss"表示秒,"zzz"表示毫秒。
阅读全文