【嵌入式——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;
}
相关推荐
AI人工智能+电脑小能手10 小时前
【大白话说Java面试题】【Java基础篇】第40题:Java中的深拷贝和浅拷贝有什么区别
java·开发语言·后端·面试
xh didida10 小时前
算法 -- 位运算
开发语言·c++·算法
谙弆悕博士10 小时前
快速学C语言——第2章:编程规范与代码风格
服务器·c语言·开发语言·经验分享·程序人生·学习方法·业界资讯
byzh_rc10 小时前
[AI编程从入门到入土] 装饰器decorator
开发语言·python·ai编程
贫民窟的勇敢爷们11 小时前
Java 与 Python 如何选型与融合
java·开发语言·python
流氓也是种气质 _Cookie11 小时前
Chrome Performance常见名词解释(FP, FCP, LCP, DCL, FMP, TTI, TBT, FID, CLS)
开发语言·javascript·ecmascript
青岛前景互联信息技术有限公司11 小时前
又到一年开学季,大学校园安全管理中的突出问题分析
大数据·人工智能·物联网
gihigo199811 小时前
基于MATLAB的LTE物理层仿真系统
开发语言·matlab
刚子编程11 小时前
C# Join 实战:左连接写法、字符串拼接与 EF Core 性能调优
开发语言·c#·solr·join
fie888911 小时前
基于粒子群优化(PSO)算法的带STATCOM的IEEE 30节点系统最优潮流MATLAB实现
开发语言·算法·matlab