Qt 元对象系统

概述

元对象系统(Meta-Object System)是Qt开发库中最重要的核心系统。元对象系统提供类对象之间通信的信号与槽机制、运行时类型信息和动态属性系统。
元对象系统由以下三部分组成:

  • QObject:QObject类是所有使用元对象系统的类的基类。
  • Q_OBJECT宏:声明Q_OBJECT宏可以使该类获得元对象系统的所有特性,比如动态属性、信号与槽等。
  • MOC:MOC(元对象编译器)为每个QObject的子类提供必要的代码来实现元对象系统的特性。

QObject

QObject是Qt对象模型的核心。该模型的核心功能是提供一个非常强大的对象通信机制,即信号与槽(Signals & Slots)。通过connect()将一个信号连接到一个槽函数中,用disconnect()破坏连接。

QObject以对象树的形式进行维护。当创建一个以另一个对象为父对象的QObject对象时,该对象将自动把自己添加到父对象的children()列表中。父对象拥有子对象所有权;也就是说,它将在析构函数中自动删除其子对象。可以通过findChild()或findChildren()

你可能感兴趣的:(深入浅出Qt,qt)