Qt元对象系统主要基于三个东西:
1.Object类
QObject类是Qt的核心类,是所有使用元对象系统的类的基类。
2.Q_OBJECT
声明 Q_OBJECT宏,使得类可以使用元对象的特性,如动态属性、信号与槽。
3.moc(Meta-Object-Compiler)元对象编译器
代码生成器,为每个 QObject 的子类提供必要的代码来实现元对象系统的特性。它解析头文件并生成一个附加的c++文件,该文件与程序的其余部分一起编译。
宏
signals, slots, Q_OBJECT, emit, SIGNAL, SLOT
信号和插槽都是简单的函数:编译器会像处理其他函数一样处理它们。不过,宏仍然有一个用途:对于MOC可见。
emit是一个空宏(仅给开发人员一个提示)