首页 > 解决方案 > QML ListView 委托中的“索引”来自哪里?

问题描述

我刚刚开始学习 QML,并试图通过 ListView 实现一个简单的表(使用这篇 SO 文章作为指南)。

我想让其中一列可编辑,所以我用TextField它代替Label了那一列。我遇到困难的地方是找到如何将更新的值写回模型中。我setProperty在模型上找到了该方法,但完全不清楚如何访问委托的“当前项目”的索引以作为方法调用的第一个参数提供。

在尝试并未能使用之后currentIndex,最终我发现我实际上可以使用index,但我不明白我应该如何知道这一点以及它记录在哪里。我问这个问题是因为我怀疑我遗漏了一些应该使这一点显而易见的基本概念。

标签: listviewdelegatesqml

解决方案


它在ListView::delegate的文档中提到:

委托提供了一个模板,定义了视图实例化的每个项目。索引作为可访问index属性公开。 根据数据模型的类型,模型的属性也可用。

页面上也提到了它,尽管这有点难找到。


推荐阅读