我在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