2013-02-26 104 views
5

我有一個listview對象,它通過一個將數據附加到listmodel的javascript函數從web api讀取數據。我已經附上了下面的listview和listmodel。無限滾動QML中的qt listView

我想實現一種類型的無限滾動,當用戶接近或到達列表視圖的最後一個元素。

我無法弄清楚如何檢測滾動事件並獲取相對滾動位置。

感謝您的任何幫助。

ListModel { 

     id: subModel 
     function getSub(idx){ 
      return (idx >=0 && idx < count) ? get(idx).display_name: ""; 
     } 
    } 

ListView { 
     clip: true 
     width: parent.width 
     height: parent.height - searchButton.height 
     model: subModel   
     on 
     delegate: ListingDelegate{ 
       text: title; 
       subText: subTitle; 
       icon: Qt.resolvedUrl(thumbnail) 
       __iconWidth: units.gu(5) 
       __iconHeight: units.gu(5) 
      } 
     } 
    } 

回答

6

在QML中,每個屬性都有相應的變化信號。在你的情況下,你應該聽ListView的屬性:

ListView { 
    id: messageList 
    // Stuff 
    onAtYEndChanged: { 
    if (messageList.atYEnd) { 
     // Loading tail messages... 
    } 
    } 
} 
+0

完美的作品,謝謝! – Smeegs 2013-02-26 21:43:23