【嵌入式——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;
}
相关推荐
q567315231 分钟前
R语言初学者爬虫简单模板
开发语言·爬虫·r语言·iphone
小赖同学啊19 分钟前
物联网中的Unity/Unreal引擎集成:数字孪生与可视化控制
物联网·unity·游戏引擎
小赖同学啊36 分钟前
区块链技术在物联网(IoT)中的核心应用场景
物联网·区块链
rzl021 小时前
java web5(黑马)
java·开发语言·前端
时序数据说1 小时前
为什么时序数据库IoTDB选择Java作为开发语言
java·大数据·开发语言·数据库·物联网·时序数据库·iotdb
jingling5551 小时前
面试版-前端开发核心知识
开发语言·前端·javascript·vue.js·面试·前端框架
m0_687399841 小时前
写一个Ununtu C++ 程序,调用ffmpeg API, 来判断一个数字电影的视频文件mxf 是不是Jpeg2000?
开发语言·c++·ffmpeg
爱上语文1 小时前
Redis基础(5):Redis的Java客户端
java·开发语言·数据库·redis·后端
A~taoker2 小时前
taoker的项目维护(ng服务器)
java·开发语言
萧曵 丶2 小时前
Rust 中的返回类型
开发语言·后端·rust