对于界面的开发将数据与展示分开可以有效地解耦。
QML将数据放在模型(model)中,使用视图(view)来展示数据,它们之间
通过代理(delegate)连接起来。模型视图和代理这三个元素就构成了Qt的
模型视图框架。
在《「Qt-QML」Repeater元素的使用方法 》中使用的Repeater就是一种简单
模型视图。但是Repeater适用于数据量较少的静态数据的情况。对于数据量
更大或者动态数据,就需要更强大的视图,比如ListView。
ListView可以用于展示QML内置的模型ListModel和XmlListModel,如果这些模型
还无法满足需求,还可以用C++自定义模型。
ListView和ListModel使用示例:
例子中使用了ListModel作为模型,ListElement表示模型中的一个数据项。
ListView作为视图,代理直接定义在视图的内部,它是一个矩形,
用来描述一个数据项的外观。矩形中使用了两个文本分别显示模型数据项
中的name和age。
程序运行效果:
---> 文章来源于我的个人博客:fearlazy
---> 编程是一件怎么也学不会的事情,但是如果能享受学习的过程也是挺好的。