1. 对象模型
1) 信号和槽
两个对象之间的通信。
回调:指向函数的指针,把这个回调指针传递给要被处理的函数,在这个函数被处理时在适当的地方调用这个回调函数
回调机制主要有两个缺陷:1.不是类型安全的type-safe,不能保证在调用回调函数时可以使用正确的参数
2.是强耦合的 处理函数必须知道调用哪个回调函数
2.属性系统
3. 对象树和拥有权
object tree 来组织和管理所有的QObject类及其子类的对象
4. 元对象系统(Meta-Object System)提供了对象之间的通信的信号和槽机制、运行时类型信息和动态属性系统
1)该类必须继承自QObject类
2)必须在类的私有声明区声明Q_OBJECT宏
3)元对象编译器Meta-Object Compiler(moc),为QObject子类实现元对象特性提供必要的代码
qobject_cast函数对QObject类进行动态类型转换,这个函数功能类似于标准c++中的dynamic_cast