【嵌入式——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;
}
相关推荐
ajassi20001 小时前
开源 C++ QT QML 开发(二十三)程序发布
c++·qt·mfc
消失的旧时光-19432 小时前
@JvmStatic 的作用
java·开发语言·kotlin
skywalk81632 小时前
基于频域的数字盲水印blind-watermark
linux·开发语言·python
Tiger_shl2 小时前
三大并发集合ConcurrentDictionary、ConcurrentBag、ConcurrentQueue
开发语言·c#
火锅机器2 小时前
java 8 lambda表达式对list进行分组
java·开发语言·list
shaominjin1232 小时前
android在sd卡中可以mkdir, 但是不可以createNewFile
android·开发语言·python
筱砚.2 小时前
【STL——stack容器】
开发语言·c++
曦樂~2 小时前
【Qt】定时器--滚动相册
开发语言·qt
沐知全栈开发3 小时前
Java 文档注释
开发语言
程序_白白3 小时前
探讨一下java将来未来两年内的就业以及发展
java·开发语言