欢迎大家来到IT世界,在知识的湖畔探索吧!

欢迎大家来到IT世界,在知识的湖畔探索吧!
头文件中定义了很多宏,以下一些是比较常用的。
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
欢迎大家来到IT世界,在知识的湖畔探索吧!
QT_VERSION_CHECK
这个宏展开为Qt版本号的一个整数表示,例如:
欢迎大家来到IT世界,在知识的湖畔探索吧!#if (QT_VERSION >= QT__VERSION_CHECK(5, 0, 0)) #include
#else #include
#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(),可以定义如下:
欢迎大家来到IT世界,在知识的湖畔探索吧!void paintEvent(QPaintEvent*) Q_DECL_OVERRIDE;
使用Q_DECL_OVERRIDE宏后,如果重载的虚函数没有进行任何重载操作,编译器将会报错。
Q_DECL_FINAL
这个宏将一个虚函数定义为最终级别,不能再被重载,或定义一个类不能再被继承,示例如下:
Class QRect Q_DECL_FINAL {// QRect不能再被继承 // … };
Q_UNUSED(name)
这个宏用于在函数中定义不在函数体里使用的参数,示例如下:
欢迎大家来到IT世界,在知识的湖畔探索吧!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用于构造一个无限循环,例如:
欢迎大家来到IT世界,在知识的湖畔探索吧!forever { … }
qDebug(const char *message,…)
在debugger窗体显示信息,如果编译器设置了Qt_NO_DEBUG_OUTPUT,则不作任何输出,例如:
qDebug(“Items in list: %d”, myList.size());
类似的宏还有qWarning、qCritical、qFatal、qlnfo等,也是用于在debugger窗体显示信息。
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/112914.html