作者: 一去、二三里
个人微信号: iwaleon
微信公众号: 高效程序员
虽然 Repeater 在重复创建多个相似项的时候很方便,但是通常只适用于有限的简单元素,并且它还无法滚动浏览。而基于 Flickable 的视图组件(如 GridView、ListView、TableView、TreeView 等)则弥补了这些缺点,它们不但能够显示大量数据,而且还支持滚动浏览,尤其是针对复杂的布局和交互场景,可以通过分页显示、懒加载、动态更新等手段来提高性能。
就从 ListView 开始吧,它是一个用于显示可滚动列表的组件,允许我们以一种简单而灵活的方式呈现项目,并支持水平和垂直布局。与 Repeater 组件类似,ListView 可以与 model 和 delegate 结合使用,以便动态地显示列表内容并自定义其外观和行为。ListView 在构建基于列表的用户界面时非常有用,如联系人列表、消息列表、菜单等。
下面,我们接着《QML 模型视图》一节中的示例,并以图标视图的形式来显示联系人,看看都涉及 ListView 的哪些用法。
完整的思维导图如下: