Q_PROPERTY
- Qt提供了一个复杂的属性系统, 类似 某些编译器供应商 提供的属性系统
- 适用于每个 Qt 支持的任何标准C++编译器
- 基于元对象系统,该系统也可以通过 信号 和 插槽 提供对象间通信
Meta-Object 元对象系统:
- Qt的元对象系统为对象间通信提供了信号和槽机制, 运行时类型信息和动态属性系统。
Meta-object system 元对象系统基于 以下三种东西:
- QObject 类为元对象系统提供了一个基类。
- 类声明内的 私有部分的 Q_OBJECT宏 用于启用 元对象功能, 如动态属性、信号和槽。
- 元对象编译器 (moc) 为每个 QObject 子类提供实现元对象功能所需的代码。
为了声明一个property 属性, 使用 Q_PROPERTY()宏, 该类需继承 QObject
Q_PROPERTY(type name
(READ getFunction [WRITE setFunction] |
MEMBER memberName [(READ getFunction | WRITE setFunction)])
[RESET resetFunction]
[NOTIFY notifySignal]
[REVISION int]
[DESIGNABLE bool]
[SCRIPTABLE bool]
[STORED bool]
[USER bool]
[CONSTANT]
[FINAL])
- 如果 MEMBER 没有指定的话, READ 函数是必须的. READ const 函数用于读取 property值, 返回 1. property's type, 2. const reference to the type
- WRITE 访问器 是 optional, 用于