如何从ListModel中选择单个ListElement并在ListView中处理它

时间:2017-10-17 19:34:59

标签: c++ qt qml

我有一个列表模型,其中包含一些列表元素。

比如说:

导入QtQuick 2.0

ListModel {
    id: fruitModel

    ListElement {
        name: "Apple"
        cost: 2.45
    }
    ListElement {
        name: "Orange"
        cost: 3.25
    }
    ListElement {
        name: "Banana"
        cost: 1.95
    }
}

现在我创建一个组件和ListView来委派和查看模型。

 Component {
        id: fruitDelegate
        Row {
            spacing: 10
            Text { text: name }
            Text { text: '$' + cost }
        }
    }

    ListView {
        anchors.fill: parent
        model: fruitModel
        delegate: fruitDelegate
    }

以上示例来自Qt文档。

但是Qt文档没有提到如何在模型中选择或获取单个元素并仅处理该元素。

我想选择一个元素并处理它并完成ListView,即使我的列表模型有多个listElements。

有人可以知道如何从列表模型中选择一个或几个ListElements(不是全部)。

1 个答案:

答案 0 :(得分:2)

  

但是Qt文档没有提到如何选择或获取a   模型中的单个元素,只处理该元素。

我会说它被提到相当清楚:

object get(int index)
  

返回列表模型中index处的项目。这允许项目数据   要从JavaScript访问或修改

编辑:请记住,除了使用get()“选择”单个模型项目外,当您使用视图时,每个代表都将自动“选择”基础项目。