【问题标题】:How can I get the roles of a few currentItem from a listview in qml?如何从 qml 的列表视图中获取一些 currentItem 的角色?
【发布时间】:2017-06-08 22:14:31
【问题描述】:

如何从 qml 的列表视图中获取一些 currentItem 的角色?

类似:

ListView {
    id: listview
    model: myModel
    delegate: Item {
        property variant myData: model
        Text {
            text: model.text
        }
        Text {
            text: model.moreText
        }
    }
    onCurrentIndexChanged:{
        listview.currentItem[currentIndex].myData.text
        listview.currentItem[currentIndex + 1].myData.text
        listview.currentItem[currentIndex + 2].myData.text
    }
}

【问题讨论】:

    标签: qt listview qml


    【解决方案1】:

    从几个currentItem? currentItem 不是单数吗?
    currentItem 指向当前选中 Item 并且不是Item 的列表s

    也许你想要这个:

    myModel.get(currentIndex + i).myRole
    

    【讨论】:

      【解决方案2】:

      目前没有真正好的“通用”方法来执行此操作,因此答案取决于您的模型类型。例如,如果您使用 ListModel,则可以使用ListModel::get。如果您使用的是 C++ 模型,我建议您查看this question 上的答案。

      【讨论】:

        【解决方案3】:

        如果您知道模型的角色索引,您可以这样做myModel.data(myModel.index(currentIndex, 0), roleIndex)

        【讨论】:

          猜你喜欢
          • 2011-07-11
          • 1970-01-01
          • 2017-10-07
          • 1970-01-01
          • 2019-11-26
          • 1970-01-01
          • 1970-01-01
          • 2012-06-12
          • 1970-01-01
          相关资源
          最近更新 更多