QML的Q_PROPERTY
来源:互联网 发布:高圆圆不孕知乎 编辑:程序博客网 时间:2024/06/06 06:54
QObject
QObject子类使用了Q_PROPERTY宏定义了一个属性,该宏的作用是向Qt元对象系统注册类的属性。一个类的属性是类的数据成员,通常会有一个读取的READ函数和一个可选的WRITE函数。
Q_PROPERTY(QString author READ author WRITE setAuthorNOTIFY authorChanged)//有一个信号authorChanged()。当setAuthor()函数修改了author()属性的值。public :void setAuthor(const QString &a){ if(a!=m_author){ m_author=a; emit authorChanged(); }}
在使用时候将Message类的一个实例作为加载QML文档myItem.qml的上下文属性:
int main(int argc,char *argv[]){ QCoreApplication app(argc,argv); QQmlEngine engine; Message msg; engine.rootContext()->setContextProperty("msg",&msg); QQmlComponent component(&engine,QUrl::fromLocalFile("myItem,qml")); component.create(); return app.exec();}
然后在可以在myItem.qml中直接操作author属性
import QtQuick 2.2Text{ width:100; height:100; text:msg.author; Component.onCompleted:{ //调用setAuthor方法 msg.author="Jonah"; }}
为了尽可能增强与QML的可交互性,任何可写属性都应该关联一个NOTIFY信号。当属性值发生改变时候,发出该信号。这种机制可以使得该属性能够应用于属性绑定,而属性绑定正是QML最强大的功能之一。
CONSTRANT特性:仅用于那些在构造函数中设置值,并且之后不会被修改的属性,而所有可能会被绑定 的属性都应该使用NOTIFY信号。
阅读全文
0 0
- QML的Q_PROPERTY
- Q_PROPERTY
- Q_PROPERTY
- Q_PROPERTY
- Q_PROPERTY
- Q_PROPERTY
- Q_PROPERTY
- Q_PROPERTY
- Qt中 Q_PROPERTY 的使用
- Qt中Q_PROPERTY定义属性以及属性的使用
- 用Q_PROPERTY增加Qt现有类的属性和方法
- Q_PROPERTY使用
- Q_PROPERTY 介绍
- Q_PROPERTY使用
- Q_PROPERTY 介绍
- Q_PROPERTY 介绍 .
- Qt-Q_PROPERTY
- Q_PROPERTY()宏
- java String一个字符串多次截取两个字符串之间的值
- ResultMap
- 穿插纸条 (第91-108关)交叉点计数的极端情况
- Mysql -- mysql事务和锁InnoDB
- AVFoundation视频缩放研究
- QML的Q_PROPERTY
- javascript 层级数据的递归遍历与节点插入
- 对拍程序--C语言
- 写给懒惰的自己
- Linux下安装配置JDK
- 阿里云服务器ECS与域名的绑定
- csdn开始落实审核机制
- EL与JSTL
- 二,ESP8266 GPIO和SPI和定时器和串口