我在QML项目中有两个ListView
,它们都运行在同一模型中。我试图让他们从不同的指数开始(模型以2 ListElement
s开头)。为了做到这一点,我打电话positionViewAtIndex
当该组件完成:ListView positionViewAtIndex()不起作用
ListView {
model: mymodel
Component.onCompleted: positionViewAtIndex(1,ListView.Beginning)
//...
}
然而,无论ListView
实际上被定位在所需的索引。有没有我没有做的事情?我已经看到这个问题的唯一解决方案是确保您在ListView
完成之前不会调用该方法,但我正在这样做。
我正在使用Qt 5.2/QtQuick 2.0。
编辑:在玩过其他定位器函数后,我发现它们都没有工作。我也发现改变currentIndex
也不起作用。此外,我发现currentIndex
没有被改变的观点 - onCurrentIndexChanged
从未被解雇。
正如我在我的问题中指出的(在我编辑它之后),更改'currentIndex'完全没有。此外,手动更改视图的位置不会触发'onCurrentIndexChanged'信号... – hal7df
使用qtquick 1.1进行快速测试后,只有在将ListView高度设置为小于视口所需的高度时才起作用。 CurrentIndexChanged信号将起作用,如果你打开突出显示 – nib
这些都不适合我...我应该指出 - 我正在使用QtQuick 2.0(Qt 5.2),但我不认为这将是问题的原因。 – hal7df