天天看点

Qt笔记——元对象系统

Qt元对象系统提供了对象间的通信机制:信号和槽、以及运行类形信息和动态属性系统的支持,是标注C++的一个扩展,它使得Qt能够更好的实现GUI图形用户界面编程。Qt的元对象系统不支持C++模板,尽管模板扩展了C++的功能,但是元对象提供了模板无法提供的一些特性。

    Qt的元对象基于三个事实:

    1、 基类Q_OBJECT,任何想使用元对象系统功能的类必须继承自QOBject;

    2、 Q_OBJECT宏,Q_OBJECT宏必须出现在类的私有声明区,以完成元对象的特性;

    3、 元对象编译器(Meta-Object Compiler,moc).为QOject子类实现元对象特性提供了必要的代码的实现。

继续阅读