内省(Introspection)-QT-NOKIA培训资料(中文版)

时间:2021-04-26 09:30:58
【文件属性】:
文件名称:内省(Introspection)-QT-NOKIA培训资料(中文版)
文件大小:1.89MB
文件格式:PPT
更新时间:2021-04-26 09:30:58
QT NOKIA 培训 中文版 内省(Introspection) 类在运行时了解它们自己的信息 对实现脚本和动态语言的绑定 有很好的支持。 if (object->inherits("QAbstractItemView")) { QAbstractItemView *view = static_cast(widget); view->... enum CapitalsEnum { Oslo, Helsinki, Stockholm, Copenhagen }; int index = object->metaObject()->indexOfEnumerator("CapitalsEnum"); object->metaObject()->enumerator(index)->key(object->capital()); 能够实现动态转换而不需要运行时类型检查( RTTI) 例子:它可以将枚举值转换成更容易阅读和保存的字符串 元对象了解细节 * 此处,幻灯片将走过QObject和元数据可用的不同特性。 第一个例子,继承关键字让你检查一个类是否继承,即,is-a,类。一个类继承自身,以便当决定如何转换时作为一个检查。这说明元数据了解类的层级。 另一个例子是元数据包含关于你的枚举的信息(是否通过Q_ENUM宏传递了枚举)。通过该方法,你可以轻易地实现枚举变量和文本之间的转换。这显示元数据拥有关于每个累得详细数据。 所有这些信息使到Qt容易跟脚本语言和其他动态环境( PyQt, Ruby, JavaScript,等等 )融为一体

网友评论