Qt为何要加宏定义

Qt是对标准C++进行了扩展,引入了一些新的概念和功能,例如信号和槽、对象属性等。Qt的元对象编译器是一个预处理器,在源程序被编译前先将这些Qt特性的程序转换为标准C++兼容的形式,然后再由标准C++编译器进行编译。这就是为什么在使用信号与槽机制的类中必须添加一个Q_OBJECT宏的原因,只有添加了这个宏,moc才能对类里的信号与槽的代码进行预处理。
Qt core模块是Qt类库的核心,所有其他模块都依赖于此模块,如果使用qmake来构建项目,Qt core则是自动加入的。
Qt为C++语言增加的特性就是在Qt core模块中实现的,这些扩展特性由Qt的元对象系统实现,包括信号与槽机制、属性系统、动态类型转换等。

猜你喜欢

转载自blog.csdn.net/weixin_42105843/article/details/121335293
今日推荐