Skip to content

Latest commit

 

History

History
7 lines (4 loc) · 719 Bytes

56、对Qt元对象系统了解吗?.md

File metadata and controls

7 lines (4 loc) · 719 Bytes

56、对Qt元对象系统了解吗?

Qt对标准的C++进行了扩展,如信号槽、对象属性等。Qt的元对象编译系统MOC是一个预处理器,当Qt读取源文件时检测到类中包含有Q_OBJECT宏时,则会创建一个新的文件(生成路径下的moc开头的文件),将源码转换为C++编译器可以识别的代码写入moc开头的文件,然后C++编译器对其进行编译。当你的类需要使用Qt的扩展功能时,如信号槽、对象属性等时,则必须使用MOC,反之如果你的类不使用这些功能的时候不要无畏的使用MOC增大源码体积。使用MOC系统的方法:

  1. 继承QObject。

  2. 类中添加Q_OBJECT宏。