C++学习(二四零)Q_PROPERTY

Q_PROPERTY是Qt中用于声明属性property的宏,需要继承自QObject并由moc处理。属性具有READ、WRITE、RESET、NOTIFY等特性,可用于界面设计器和脚本引擎。属性可以通过setProperty方法动态修改,某些属性还有DESIGNABLE、SCRIPTABLE、STORED等元数据选项。Q_PROPERTY不支持包含逗号的类型,如QMap<QString, QVariant>。" 107264551,8769965,AI开发的最佳编程语言:Python、C++、Java等,"['人工智能', '编程语言', '机器学习', '深度学习', 'Python']
摘要由CSDN通过智能技术生成

Q_PROPERTY()是一个宏,用来在一个类中声明一个属性property,由于该宏是qt特有的,需要用moc进行编译,故必须继承于QObject类。这样做的好处是可以在代码中通过QObject的setProperty("enabled", true)修改属性值。

Q_PROPERTY(type name
   READ getFunction
   [WRITE setFunction]
   [RESET resetFunction]
   [NOTIFY notifySignal]
   [DESIGNABLE bool]
   [SCRIPTABLE bool]
   [STORED bool]
   [USER bool]
   [CONSTANT]
   [FINAL])

在类定义中,如此使用:

Q_PROPERTY(double minValue READ getMinValue WRITE setMinValue)
Q_PROPERTY(bool animation READ getAnimation WRITE setAnimation)
Q_PROPERTY(QColor barColor READ getBarColor WRITE setBarColor)

一个属性的行为就像类的数据成员,但是它还具有附加的特性,这些特性可以被元数据对象系统操作。这些特性是:
需要一个READ访问器函数。用于读属性的值。理想情况下,有一个不变的函数用于此目的,并且它必须返回属性的类型的值或指针或引用。例如,QWidget::focus是一个只读的属性,它对应一个读函数:QWidget::hasFocus()。
一个可选的WRITE访问器函数。它用于设置属性的值。它必须返回空并且至少具有一个参数,

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值