(1)Qt的基本数据类型以及基本输出

简介: 这篇文章介绍了Qt框架中的基本数据类型和日志输出方法,包括如何使用QDebug类及其相关函数进行调试和日志记录,以及如何取消输出时的空格和字符串引号,还提供了抑制输出的两种方式。

基础类型

因为Qt是一个C++框架, 因此C++中所有的语法和数据类型在Qt中都是被支持的, 但是Qt中也定义了一些属于自己的数据类型, 下边给大家介绍一下这些基础的数据类型。

类型名称 注释 备注
qint8 signed char 有符号8位数据
qint16 signed short 16位数据类型
qint32 signed short 32位有符号数据类型
qint64 long long int 或(__int64) 64位有符号数据类型,Windows中定义为__int64
qintptr qint32 或 qint64 指针类型 根据系统类型不同而不同,32位系统为qint32、64位系统为qint64
qlonglong long long int 或(__int64) Windows中定义为__int64
qptrdiff qint32 或 qint64 根据系统类型不同而不同,32位系统为qint32、64位系统为qint64
qreal double 或 float 除非配置了-qreal float选项,否则默认为double
quint8 unsigned char 无符号8位数据类型
quint16 unsigned short 无符号16位数据类型
quint32 unsigned int 无符号32位数据类型
quint64 unsigned long long int 或 (unsigned __int64) 无符号64比特数据类型,Windows中定义为unsigned __int64
quintptr quint32 或 quint64 根据系统类型不同而不同,32位系统为quint32、64位系统为quint64
qulonglong unsigned long long int 或 (unsigned __int64) Windows中定义为__int64
uchar unsigned char 无符号字符类型
uint unsigned int 无符号整型
ulong unsigned long 无符号长整型
ushort unsigned short 无符号短整型
qsizetype size_t unsigned __int64 类型

log输出

在Qt中进行log输出, 一般不使用c中的printf, 也不是使用C++中的cout, Qt框架提供了专门用于日志输出的类, 头文件名为 QDebug

1. qDebug(调试信息提示)

qDebug("调试信息输出: %d",age);        // C风格
qDebug() << "输出调试信息: " << age;    // C++风格

qDebug的注意事项:

流的形式输出会自动在数据之间加上空格

输出之后会自动插入换行

输出(QString)字符串会在字符串之间加上双引号

如何取消流的形式输出时数据间的空格呢?

qDebug() << "输出调试信息: " << age;                // 未取消数据间空格
qDebug().nospace() << "输出调试信息: " << age;    // 取消数据间的空格

如何取消输出字符串(QString)时的双引号呢?

QString str = "Hello World";
qDebug() << str;
qDebug().noquote() << str;

2. qInfo(输出信息)

int num = 1001;
qInfo("qInfo输出%d",num);
qInfo() << "qInfo输出" << num;

3. qWarning(一般的警告提示)

qWarning("qWarning输出%d", num);
qWarning() << "qWarning输出" << num;

4. qCritical(严重的错误提示)

qCritical("qCritical输出%d", num);
qCritical() << "qCritical输出" << num;

5. qFatal(致命错误提示,会直接中断程序)

//qFatal() 不能使用流的方式输出
qFatal("qFatal输出");
qInfo() << "如果没有中断,我就输出来了";

抑制输出的方式

//5. 抑制QDebug输出
    qInfo() << "qInfo输出......";
    qDebug() << "qDebug输出";
    qDebug("qDebug输出2......");
    qInfo("qInfo输出2......");

方式1:使用宏的方式抑制输出

#define QT_NO_DEBUG_OUTPUT    // 放到代码文件的最开头位置

方式2:配置CMakeLists.txt文件的方式抑制输出

#在配置文件中添加宏定义抑制输出
add_compile_definitions(QT_NO_DEBUG_OUTPUT)

相关文章
|
5月前
QT中的数据类型转换总结
QT中的数据类型转换总结
|
3天前
|
存储 C++ 容器
(3)Qt中的变体数据类型(QVariant)
QVariant是Qt中一个强大的变体数据类型,能够存储和管理多种Qt和C++基本数据类型,包括自定义类型,并通过setValue()和value()方法进行赋值和取值。
16 9
(3)Qt中的变体数据类型(QVariant)
|
5月前
|
Windows 安全 C++
Qt字符串类应用与常用基本数据类型
Qt字符串类应用与常用基本数据类型
QT应用编程: Qt数据类型和(ActiveX)COM接口数据类型对应关系
QT应用编程: Qt数据类型和(ActiveX)COM接口数据类型对应关系
254 0
QT应用编程: Qt数据类型和(ActiveX)COM接口数据类型对应关系
|
Windows
[Qt商业版]Windows控件与Qt数据类型对照表
COM type Qt property in-parameter out-parameterVARIANT_BOOLboolboolbool&BSTRQStringconst QString...
934 0
|
3月前
|
数据安全/隐私保护 C++ 计算机视觉
Qt(C++)开发一款图片防盗用水印制作小工具
文本水印是一种常用的防盗用手段,可以将文本信息嵌入到图片、视频等文件中,用于识别和证明文件的版权归属。在数字化和网络化的时代,大量的原创作品容易被不法分子盗用或侵犯版权,因此加入文本水印成为了保护原创作品和维护知识产权的必要手段。 通常情况下,文本水印可以包含版权声明、制作者姓名、日期、网址等信息,以帮助识别文件的来源和版权归属。同时,为了增强防盗用效果,文本水印通常会采用字体、颜色、角度等多种组合方式,使得水印难以被删除或篡改,有效地降低了盗用意愿和风险。 开发人员可以使用图像处理技术和编程语言实现文本水印的功能,例如使用Qt的QPainter类进行文本绘制操作,将文本信息嵌入到图片中,
159 1
Qt(C++)开发一款图片防盗用水印制作小工具
|
2月前
|
监控 C++ 容器
【qt】MDI多文档界面开发
【qt】MDI多文档界面开发
58 0
|
19天前
|
开发工具 C++
qt开发技巧与三个问题点
本文介绍了三个Qt开发中的常见问题及其解决方法,并提供了一些实用的开发技巧。
|
1月前
|
2月前
|
C++
C++ Qt开发:QUdpSocket网络通信组件
QUdpSocket是Qt网络编程中一个非常有用的组件,它提供了在UDP协议下进行数据发送和接收的能力。通过简单的方法和信号,可以轻松实现基于UDP的网络通信。不过,需要注意的是,UDP协议本身不保证数据的可靠传输,因此在使用QUdpSocket时,可能需要在应用层实现一些机制来保证数据的完整性和顺序,或者选择在适用的场景下使用UDP协议。
93 2