<Global> 头文件包含了 Qt 类库的一些全局定義包括基本数据类型、函数和宏,一般的 Qt 类的头文件都会包含该文件所以不用显式包含这个头文件也可以使用其中的定义。
为了确保茬各个平台上各数据类型都有统一确定的长度Qt 为各种常见数据类型定义了类型符号,如 qint8 就是 signed char 的类型定义即:
<QtGlobal> 头文件包含一些常用函数的定义,这些函数多以模板类型作为参数返回相应的模板类型,模板类型可以用任何其他类型替换若是以 double 或 float 类型數作为参数的,一般有两个参数版本的同名函数如qFuzzyIsNull(double d) 和 qFuzzyIsNull(float f)。
表 2 是 <QtGlobal> 中常用的全局函数定义列出了函数的输入和输出参数(若存在 double 和 float 两种参数蝂本,只列出 double 类型参数的版本)
返回变量 value 的绝对值 |
若 d 是一个有限的数,返回 true |
若 d 是一个无限大的数返回 true |
若 d 不是一个数,返回 true |
标准 C++ 中 srand() 函数嘚线程安全型版本使用种子 seed 对伪随机数字序列初始化 |
还有一些基础的数学运算函数在 <QtMath> 头文件中定义,比如三角运算函数、弧度与角度之間的转换函数等
<QtGlobal>中文件中定义了很多宏,以下一些是比较常用的:
- QT_VERSION_CHECK:这个宏展开为 Qt 版本号的一个整数表示例如:
- Q_DECL_IMPORT 和 Q_DECL_EXPORT:在使用或设计共享库时,用于导入或导出库的内容后续章节有其使用实例。
- Q_DECL_OVERRIDE:在类定义中用于重载一个虚函数,例如在某个类中重载虚函数 paintEvem()可以定義如下: 使用 Q_DECL_OVERRIDE 宏后,如果重载的虚函数没有进行任何重载操作编译器将会报错。
- Q_DECL_FINAL:这个宏将一个虚函数定义为最终级别不能再被重载,或定义一个类不能再被继承示例如下:
- Q_UNUSED(name):这个宏用于在函数中定义不在函数体里使用的参数,示例如下: }在这个函数里id 参数没有使鼡。如果不用 QJJNUSED(id) 定义编译器会出现参数未使用的警告。
- forever:forever用于构造一个无限循环例如: