【嵌入式——QT】全局定义

【嵌入式------QT】全局定义

概念

头文件包含了Qt类库的一些全局定义,包含基本数据类型、函数和宏,一般的Qt类的头文件都会包含该文件,所以不用显示包含这个头文件也可以使用其中的定义。

数据类型定义

数据类型 等效定义 字节数
qint8 signed char 1
qint16 signed short 2
qint32 signed int 4
qint64 long long int 8
qlonglong long long int 8
quint8 unsigned char 1
quint16 unsigned short 2
quint32 unsigned int 4
quint64 unsigned long long int 8
qulonglong unsigned long long int 8
uchar unsigned char 1
ushort unsigned short 2
uint unsigned int 4
ulong unsigned long 8
qreal double 8
qfloat16 2

函数

qAbs()

返回变量value的绝对值。
qBound()

返回value限定在min-max范围之内的值。
qFuzzyCompare()

若配p1 p2近似相等,返回true。
qFuzzyIsNull()

若参数d约等于0,返回true。
qInf()

返回无穷大的数。
qIsFinite()

若参数是一个有限的数,返回true。
qIsInf()

若参数是一个无限大的数,返回true。
qIsNan()

若参数不是一个数,返回true。
qMax()

返回value1,value2中较大的值。
qMin()

返回value1,value2中较小的值。
qRound64()

将value近似为最接近的qint64整数。
qRound()

将value近似为最接近的int整数。
qrand()

伪随机数。
qsrand()

对伪随机数序列初始化。

宏定义

QT_VERSION

QT编译器的版本。5.9.1===》0x050901

QT_VERSION_CHECK

QT版本号展示是一个整数,QT_VERSION_CHECK(5,0,0)。

QT_VERSION_STR

QT版本号展开是一个字符串,"5.9.0"。

Q_BYTE_ORDER

表示系统内存中数据的字节序。

cpp 复制代码
#if Q_BYTE_ORDER == Q_LITTLE_ENDIAN
#endif

Q_BIG_ENDIAN

表示大端字节序。
Q_LITTLE_ENDIAN

表示小端字节序。
Q_DECL_IMPORT

导入。
Q_DECL_EXPORT

导出。
Q_DECL_OVERRIDE

在类定义中,用于重载一个虚函数。在某个类中重载虚函数paintEvent,如果使用了Q_DECL_OVERRIDE宏之后,虚函数没有进行任何重载操作,编译器会报错。

cpp 复制代码
void paintEvent(QPaintEvent*) Q_DECL_OVERRIDE;

Q_DECL_FINAL

将一个虚函数定义为最终级别,不能再被重载,或定义一个类不能被继承。

cpp 复制代码
class Demo Q_DECL_FINAL{}  //Demo不能被继承

Q_UNUSED(name)

在函数中定义不在函数体内使用的参数。这个id没有被使用过,如果不用Q_UNUSED(id);定义,编译器会出现参数未使用警告。

cpp 复制代码
void func(int id ,int a){
Q_UNUSED(id);
a= 10;
}
相关推荐
Bruce_Liuxiaowei8 分钟前
PHP文件包含漏洞详解:原理、利用与防御
开发语言·网络安全·php·文件包含
泽020217 分钟前
C++之STL--list
开发语言·c++·list
YGGP21 分钟前
吃透 Golang 基础:数据结构之 Map
开发语言·数据结构·golang
~plus~23 分钟前
Harmony核心:动态方法修补与.NET游戏Mod开发
开发语言·jvm·经验分享·后端·程序人生·c#
步、步、为营30 分钟前
.NET 事件模式举例介绍
java·开发语言·.net
~plus~33 分钟前
WPF八大法则:告别模态窗口卡顿
开发语言·经验分享·后端·程序人生·c#
march of Time43 分钟前
go工具库:hertz api框架 hertz client的使用
开发语言·golang·iphone
24K纯学渣1 小时前
Python编码格式化之PEP8编码规范
开发语言·ide·python·pycharm
怒视天下1 小时前
零基础玩转Python生物信息学:数据分析与算法实现
开发语言·python
TDengine (老段)1 小时前
TDengine 开发指南——无模式写入
大数据·数据库·物联网·时序数据库·iot·tdengine·涛思数据