QMetaEnum 类提供了一个枚举的元数据。我们可以使用该类的静态模板函数,fromType<enumerator>来获得关于某个枚举的QMetaEnum对象,然后就可以调用该类的成员函数来获得该枚举的相关信息。该枚举必须使用Q_ENUM宏进行声明。 我们可以使用name()函数来获得枚举的名字; Read More
转载
2019-07-09 22:48:00
101阅读
2评论
Q_ENUM是一个宏定义,它的作用是将一个枚举类型注册到元对象系统,从而能够通过QMetaEnum类获得一些关于enum类型的一些信息,例如
深入理解 Qt 元对象系统:QMetaEnum 的应用与实践一、QMetaEnum 的基本概念1. 为什么需要 QMetaEnum?二、获取 QMetaEnum 对象1. 通过 QObject 的元对象2. 通过 QMetaEnum::fromType()三、使用 QMetaEnum 访问枚举信息1 ...
深入理解 Qt 元对象系统:QMetaEnum 的应用与实践一、QMetaEnum 的基本概念1. 为什么需要 QMetaEnum?二、获取 QMetaEnum 对象1. 通过 QObject 的元对象2. 通过 QMetaEnum::fromType()三、使用 QMetaEnum 访问枚举信息1. 获取枚举的名称2. 获取枚举的键值和对应的字符串描述3. 检查枚举值是否有效4. 获取枚举值的范
#include <QMetaEnum>public: enum TestType{ TEST1=0, TEST2 }; Q_ENUM(TestType) QMetaEnum metaEnum = QMetaEnum::fromType<MainWidget::TestType>();for (in
转载
2020-05-21 18:06:00
161阅读
2评论
在上一篇中,我们将的是QMetaEnum类,它可以获得一个类中由Q_ENUM宏或Q_FLAG宏声明的枚举类型的元信息。同样,QMetaMethod类是用来获取成员方法的元信息的一个类。通过该类,我们可以获取到一个成员方法的类型,比如它是、槽、方法、还是构造函数;也可以获得方法的完整签名,以及方法 Read More
转载
2019-07-09 22:47:00
116阅读
2评论