属性的定义
通过宏Q_PROPERTY定义属性,属性就是提供一种访问数据成员的方式,像是getName(),setName()这种函数,格式:
Q_PROPERTY(
type name 关键字 函数/变量
)
主要的关键字:
- READ:指定一个读取属性值的函数,没有MEMBER时必须设置READ
- WRITE:指定一个写属性值的函数,只读属性没有WRITE设置
- MEMBER:指定一个成员变量与属性关联,成为可读可写的属性,无需再设置READ和WRITE。
- RESET:可选,指定一个设置属性的缺省值的函数
- NOTIFY:可选,用于设置一个信号,当属性值变化时发射此信号。
- DESIGNABLE:表示属性是否在Qt Designer里可见,缺省为true。
- CONSTANT:表示属性值是一个常数,对于一个对象实例,READ指定的函数返回值是常数,但是每个实例的返回值可以不一样。具有CONSTANT关键字的属性不能有WRITE和NOTIFY关键字。
- FINAL:表示所定义的属性不能被子类重载。
例:
Q_PROPERTY(
QString name