本文主要对QT中一些核心的特点进行简单的介绍。
元对象系统
元对象系统(Meta-Object System)提供了对象之间通信的信号与槽、运行时类型信息和动态属性系统。
主要有三部分组成:
QObject
类是所有使用元对象系统的类的基类。
- 在类中声明
Q_OBJECT
宏,才能使用信号与槽、动态属性等元对象的特性。
MOC
(元对象编译器),对QT的代码进行预编译,之后再由C++编译器进行编译。该过程也会涉及到Q_OBJECT
宏。
对于 QObject
及其子类,可以使用 qobject_cast()
函数进行类型转换,类似C++中的 dynamic_static