-
从零开始学Qt(25):常用的宏定义_从零开始学习26键
- 网站名称:从零开始学Qt(25):常用的宏定义_从零开始学习26键
- 网站分类:技术文章
- 收录时间:2025-08-30 03:30
- 网站地址:
“从零开始学Qt(25):常用的宏定义_从零开始学习26键” 网站介绍
<QtGlobal>头文件中定义了很多宏,以下一些是比较常用的。
QT_VERSION
这个宏展开为数值形式OxMMNNPP (MM = major, NN = minor, PP = patch)表示Qt编译器版本,例如Qt编译器版本为Qt5.9.1,则QT_VERSION为0x050901。这个宏常用于条件编译设置, 根据Qt版本不同,编译不同的代码段。
#if QT_VERSION >= 0x040100
Qlcon icon = style ()->standardlcon (QStyle::SP_TrashIcon)
#else
QPixmap pixmap = style()->standardPixmap(QStyle::SP_TrashIcon);
Qlcon icon(pixmap);
#endif
QT_VERSION_CHECK
这个宏展开为Qt版本号的一个整数表示,例如:
#if (QT_VERSION >= QT__VERSION_CHECK(5, 0, 0))
#include <QtWidgets>
#else
#include <QtGui>
#endif
QT_VERSION_STR
这个宏展开为Qt版本号的字符串,如“5.9.0”。
Q_BYTE_ORDER、Q_BIG_ENDIAN 和 Q_LITTLE_ENDIAN
Q_BYTE_ORDER表示系统内存中数据的字节序,Q_BIG_ENDIAN表示大端字节序,Q_LITTLE_ ENDIAN表示小端字节序。在需要判断系统字节序时会用到,例如:
#if Q_BYTE_ORDER == Q_LITTLE_ENDIAN
…
#endif
Q_DECL_IMPORT 和 Q_DECL_EXPORT
在使用或设计共享库时,用于导入或导出库的内容。
Q_DECL_OVERRIDE
在类定义中,用于重载一个虚函数,例如在某个类中重载虚函数paintEvent(),可以定义如下:
void paintEvent(QPaintEvent*) Q_DECL_OVERRIDE;
使用Q_DECL_OVERRIDE宏后,如果重载的虚函数没有进行任何重载操作,编译器将会报错。
Q_DECL_FINAL
这个宏将一个虚函数定义为最终级别,不能再被重载,或定义一个类不能再被继承,示例如下:
Class QRect Q_DECL_FINAL {// QRect不能再被继承
// …
};
Q_UNUSED(name)
这个宏用于在函数中定义不在函数体里使用的参数,示例如下:
void MainWindow::on_imageSaved(int id, const QString &fileName)
{
Q_UNUSED(id);
LabInfo->setText ("图片保存为:”+fileName);
}
在这个函数里,id参数没有使用。如果不用Q_UNUSED(id)定义,编译器会出现参数未使用的警告。
foreach(variable, container)
foreach用于容器类的遍历,例如:
foreach (const QString &codecName, recorder->supportedAudioCodecs())
ui->comboCodec->addItem (codecName);
forever
forever用于构造一个无限循环,例如:
forever {
…
}
qDebug(const char *message,...)
在debugger窗体显示信息,如果编译器设置了Qt_NO_DEBUG_OUTPUT,则不作任何输出,例如:
qDebug(“Items in list: %d”, myList.size());
类似的宏还有qWarning、qCritical、qFatal、qlnfo等,也是用于在debugger窗体显示信息。
更多相关网站
- Qt使用教程:指定编辑器设置_qt需要设置一个编辑器来构建
- 24章全-Qt 全流程实战企业级项目 - 云对象存储浏览器
- QT远程Linux文件浏览器_qt读取远程电脑的文件目录
- Qt中的IO操作_qt的ide
- QT5.9.9生成并调用自己的DLL_qt怎么调用dll文件
- Qt与Js互相调用_java调用qt
- Qt6重磅更新:新版本的Qt 6 将通过包管理器提供附加库
- Qt编程基础_qt编程入门
- Qt 纯C++项目发布为dll的方法(超详细步骤)
- Qt开发dll共享库简单的调试方法_qt发布dll
- 从零开始学Qt(52):QTextStream读写文本文件
- 「Qt入门第22篇」 数据库(二)编译MySQL数据库驱动
- Qt使用教程:指定生成设置(二)_qt二维码生成教程
- 用Qt简化你的开发工具集,从MCU到桌面电脑,应有尽有
- Qt drawText 绘制文本_qt drawrect
- QT框架之个人管理系统实现-前导文
- Qt文件路径:QDir_qt 当前路径
- 怎么在qt中加载css文件_qt怎么添加ui
- 最近发表
- 标签列表
-
- mydisktest_v298 (35)
- sql 日期比较 (33)
- document.appendchild (35)
- 头像打包下载 (35)
- 梦幻诛仙表情包 (36)
- java面试宝典2019pdf (26)
- disk++ (30)
- 加密与解密第四版pdf (29)
- iteye (26)
- centos7.4下载 (32)
- intouch2014r2sp1永久授权 (33)
- jdk1.8.0_191下载 (27)
- axure9注册码 (30)
- 兔兔工程量计算软件下载 (27)
- ccproxy破解版 (31)
- aida64模板 (28)
- engine=innodb (33)
- shiro jwt (28)
- segoe ui是什么字体 (27)
- head first java电子版 (32)
- clickhouse中文文档 (28)
- jdk-8u181-linux-x64.tar.gz (32)
- 计算机网络自顶向下pdf (34)
- -dfile.encoding=utf-8 (33)
- jdk1.9下载 (32)