listview - QML ListView 委托中的“索引”来自哪里?
问题描述
我刚刚开始学习 QML,并试图通过 ListView 实现一个简单的表(使用这篇 SO 文章作为指南)。
我想让其中一列可编辑,所以我用TextField
它代替Label
了那一列。我遇到困难的地方是找到如何将更新的值写回模型中。我setProperty
在模型上找到了该方法,但完全不清楚如何访问委托的“当前项目”的索引以作为方法调用的第一个参数提供。
在尝试并未能使用之后currentIndex
,最终我发现我实际上可以使用index
,但我不明白我应该如何知道这一点以及它记录在哪里。我问这个问题是因为我怀疑我遗漏了一些应该使这一点显而易见的基本概念。
解决方案
它在ListView::delegate的文档中提到:
委托提供了一个模板,定义了视图实例化的每个项目。索引作为可访问
index
属性公开。 根据数据模型的类型,模型的属性也可用。
此页面上也提到了它,尽管这有点难找到。
推荐阅读
- c - C:从 char 数组打印会产生错误的字符
- python - 如何使用 boto3 从 S3 将数据写入 RDS
- google-analytics - 如何在谷歌 BigQuery 中复制谷歌分析段?
- linux - 如何在ansible中获得一个随机未使用的端口
- firebase - Firebase Firestore 中的管理员通知
- c - 有效签证:4222222222222 输出无效
- javascript - 如何获得 Express JS substr?
- html - 如何使 h1 和 h3 仅与文本一样宽
- html - 无法移动徽标图片
- powershell - Powershell 变量为空