QT中一些常用的宏和函数
ssk-wh Lv4

QT中一些常用的宏和函数

说明
Q_ASSERT
Q_ASSERT_X
常用于断言,Release模式下不起作用
Q_ASSUME = Q_ASSERT_X + Q_UNREACHABLE
Q_COREAPP_STARTUP_FUNCTION 添加一个全局函数,在QCoreApplication构造时被执行。
要注意,这里的执行比QGuiApplication的初始化要早。
Q_DISABLE_COPY 禁用类的拷贝构造函数和赋值构造函数,常用于单例类的实现
Q_FOREACH 不在建议使用,等价于foreach关键字
Q_FOREVER 等价于forever关键字
Q_GLOBAL_STATIC
Q_GLOBAL_STATIC_WITH_ARGS
创建一个全局的,静态的对应类型,但相比于static Type t这种写法有一定优势
Q_LOGGING_CATEGORY 快速声明一个日志的category对象
Q_OS_* 区分不同的平台,常见的有Q_OS_ANDROID,Q_OS_LINUX,Q_OS_WIN64等
Q_PROCESSOR_* 区分不同的处理器环境,例如Q_PROCESSOR_ARM,Q_PROCESSOR_MIPS,Q_PROCESSOR_X86_64等
Q_LIKELY
Q_UNLIKELY
缓存命中,提高执行效率。
Q_UNREACHABLE 执行到这里,程序会发生未定义的行为。常见的后果就是崩溃,用于标记永远不会执行到的语句
Q_UNUSED 没有用到部分参数或对象时,编译器会发出警告,使用此宏减少警告。
qAbs 返回参数的绝对值
qMax 返回两个参数中较大的一个
qMin 返回两个参数中较小的一个
qRound 返回较近的整数
qBound 返回最小值到最大值范围内的一个合理值
qAddPreRoutine 在QCoreApplication构造时执行操作
qAddPostRoutine 在QCoreApplication析构时执行操作
qDeleteAll 删除容器中的所有元素,元素必须是指针类型(注意:qDeleteAll只做元素的delete操作,并不会将元素从容器中remove,需要手动对容器进行clear)

头文件

头文件 说明
QtMath 如果你需要做一些数学计算,请包含这个头文件,包含了常用的绝对值,取整,三角计算等函数

Qt关键点

Qt 5.11 Qt Widgets Model/View Programming

 Comments