【嵌入式——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;
}
相关推荐
踏着七彩祥云的小丑5 小时前
pytest——Mark标记
开发语言·python·pytest
Dream of maid5 小时前
Python12(网络编程)
开发语言·网络·php
W23035765736 小时前
经典算法:最长上升子序列(LIS)深度解析 C++ 实现
开发语言·c++·算法
Y4090016 小时前
【多线程】线程安全(1)
java·开发语言·jvm
不爱吃炸鸡柳6 小时前
Python入门第一课:零基础认识Python + 环境搭建 + 基础语法精讲
开发语言·python
minji...7 小时前
Linux 线程同步与互斥(三) 生产者消费者模型,基于阻塞队列的生产者消费者模型的代码实现
linux·运维·服务器·开发语言·网络·c++·算法
Dxy12393102167 小时前
Python基于BERT的上下文纠错详解
开发语言·python·bert
不懂的浪漫7 小时前
mqtt-plus 架构解析(六):多 Broker 管理,如何让一个应用同时连接多个 MQTT 服务
spring boot·分布式·物联网·mqtt·架构
wjs20249 小时前
JavaScript 语句
开发语言