QML Data Models 数据模型<一>
来源:互联网 发布:网站数据久了数据很多 编辑:程序博客网 时间:2024/06/07 20:31
在QML中,ListView、GridView、Repeater 需要数据模型提供数据,然后在显示。而如何显示则需要一个代理(delegate)来定义。模型可以是静态的,也能够动态添加删除或修改。delegate可以绑定到model的date roles 。例如:
myModel 有两个roles ,type和age,在delegate中Text用到了这两个roles
如果Text自己有type和age属性怎么办?这时我们可以用myModel.type、myModel.age来代替type和age,否则显示的将是Text的属性(property);
先面介绍几种常见的Model
QML Data Models
ListModel roles通过ListElement属性定义XmlListModel roles通过XmlRole属性定义VisualItemModel 可以用QML items ,比如Rectanle,Text作为模型。这种模型包括了数据和代理,所以不需要额外提供delegate
通过C++为QML提供数据模型是很必要的,在数据量较大或需要实现处理的情况下尤为重要。
1.QSringList
2.QList<QObject*>
QStringList
QStringList model 有一个modelData roles 。通过modelData提供数据给delegate
但需要注意的是,当模型中数据改变时,即QStringList改变,不会自动同步到视图显示,需要我们再一次调用 QDeclarativeContext::setContextProperty() ,重新设定模型。QList<QObject*>
学习过Qt的人都知道,QObject是很多类的基类,如果我们想让我们自己的类能够作为数据模型,使我们自己定义的属性可以在QML中访问,我们可以继承自QObject或其子类。其属性值(你可以通过Q_PROPERTY()宏来定义自己的属性)将作为roles,供delegate使用。Note the use of the fully qualified access to the color property. The properties of the object are not replicated in the model object, since they are easily available via the modelData object.(英文比我说的清楚)- QML Data Models 数据模型<一>
- QML Data Models 数据模型<一>
- Data Models(数据模型)
- QML数据模型
- models数据模型学习笔记
- QML数据模型(Model)
- QML数据模型(Model)
- QML数据模型(Model)
- QML之数据模型
- Django中models数据模型重命名
- QML中的模型/视图--QML数据模型
- NoSQL Data Models
- c++ Data models
- MSDN-Abstract Data Models
- Django 根据数据模型models创建数据表
- Data Model(数据模型)
- Data Mining Methods and Models
- MongoDB Data Models 数据结构设计
- 手把手教你TestComplete_数据库外键关联问题
- HOJ10001
- Uninstall ParetoLogic DriverCure
- Remove System Recovery Scareware
- 加速 PB5.0 的编译
- QML Data Models 数据模型<一>
- 34个有用的ActionScript 3.0的API
- 加快Myeclipse启动速度
- Tweener 語法實習
- 不同的编译器、不同的硬件平台以及不同的操作系统,最终编译出来的结果一样吗?为什么?
- 快速排序
- [Python源码学习]之bytecode
- 人生感悟:如何做一个高价值的员工
- Flash开发者要了解的若干内容