Qt核心模块在C++中添加了以下特性:

  • 信号和槽机制
  • 可查询和可设计的对象属性
  • 分层和可查询的对象树,用保护指针以自然的方式组织对象所有权(QPointer)
  • 跨库边界工作的动态强制转换
    以下页面为Qt的核心特性提供了更多信息

元对象系统(Meta-Object System)

Qt的元对象系统为内部对象通信提供了信号和槽机制,运行时类型信息,动态属性系统

  1. QObject类为所有可以从元对象系统受益的对象提供了一个基类
  2. Q_OBJECT宏用于打开元对象系统;
  3. 元对象编译器(MOC)支持每一个带有必要代码的QObject的子类实现元对象特性
    moc工具读取C++源文件,如果发现其中包含Q_OBJECT宏,它会生成一个额外的C++源文件,其中包含元对象代码,这个生成的源文件会被包含进类的源文件里面,或者更一般地,编译并且链接到类的实现。

Comments

2024-10-29