Qt元对象系统提供了对象间的通信机制:信号和槽、以及执行类形信息和动态属性系统的支持。是标注C++的一个扩展,它使得Qt可以更好的实现GUI图形用户界面编程。Qt的元对象系统不支持C++模板。虽然模板扩展了C++的功能,可是元对象提供了模板无法提供的一些特性。
Qt的元对象基于三个事实:1、 基类Q_OBJECT,不论什么想使用元对象系统功能的类必须继承自QOBject;
2、 Q_OBJECT宏,Q_OBJECT宏必须出如今类的私有声明区,以完毕元对象的特性。
3、 元对象编译器(Meta-Object Compiler,moc).为QOject子类实现元对象特性提供了必要的代码的实现。