首页 > 解决方案 > 如何在带有页面的 QML 中显示模型?

问题描述

我在用页面显示模型时遇到问题,我找不到正确的方法。

我有ListView15 个矩形的模型,如下图所示。在此处输入图像描述

currentPage单击按钮时会更改属性。我希望能够显示:

第一页中的0-4 个元素 第二页
中的 5-9
和第三页中的最后 5 个元素。

我知道我可以创建它们,例如FirstPage.qml......SecondPage.qml并直接使用它们,但我想显示模型中的项目。这ListView并不重要,它可以是任何组件,但我想使用模型。

实现这一目标的最佳方法是什么?欢迎任何想法建议。

标签: qtviewmodelqml

解决方案


ListView 有一个名为的方法positionViewAtIndex(),允许您指定要滚动到的项目。因此,对于您的情况,您可以执行以下操作:

Button {
    id: previousBtn
    onClicked: {
        listView.positionViewAtIndex(listView.currentIndex - 5);
    }
}
Button {
    id: nextBtn
    onClicked: {
        listView.positionViewAtIndex(listView.currentIndex + 5);
    }
}

推荐阅读