QT -- 元对象系统

【QT -- 元对象系统】元对象系统主要是为了实现信号和槽机制才被引入的,不过除了信号和槽机制以外,元对象系统还提供了其他一些特性:

  • QObject::metaObject()函数可以返回一个类的元对象,它是QMetaObject类的对象;
  • QMetaObject::className()可以在运行时以字符串形式返回类名,而不需要C++编辑器原生的运行时类型信息(RTTI)的支持;
  • QObject::inherits()函数返回一个对象是否是QObject继承树上一个类的实例的信息;
  • QObject::tr()和QObject::trUtf8()进行字符串翻译来实现国际化;
  • QObject::setProperty()和QObject::property()通过名字来动态设置或者获取对象属性;
  • QMetaObject::newInstance()构造该类的一个新实例。

    推荐阅读