零声Qt开发备必技术栈课完整 笔记
Qt Object Model
需要注意两点:Qt对标准C++通过此模型进行了一定的扩展;Qt中对象的赋值和克隆完全不同,后者所做工作更多。
Meta-Object System
此特性通过Qt的moc工具,为每一个使用Qt特性的类生成一个moc对象来实现。它包含了Qt对C++的许多扩展性能的处理和实现。如:
信号和槽的机制
动态添加类属性的机制
不通过RTTI获取类名的机制
获取继承关系的机制等。
使用此特性的方法很简单,只需在相应的Qt类中继承QObject,并且在开始声明Q_OBJECT宏。编译时,需要用moc生成相应的moc对象实现的cpp文件,并链接;但是使用qmake工具的话,会自动生成Makefile,不用手动去做。