中文版《Qt5 Cadaques》

總結(Summary)

在這個章節中,我們學習了模型,視圖與代理。每個數據的入口是模型,視圖通過可視化代理來實現數據的可視化。將數據從顯示中分離出來。

一個模型可以是一個整數,提供給代理使用的索引值(index )。如果JavaScript數組被作為一個模型,模型數據變量(modelData)代表了數組的數據的當前索引。對于更加復雜的情況,每個數據項需要提供多個值,使用鏈表模型(ListModel)與鏈表元素(ListElement)是一個更好的解決辦法。

對于靜態模型,一個Repeater可以被用作視圖。它可以非常方便的使用行(Row),列(Column),柵格(Grid),或者流(Flow)來創建用戶界面。對于動態或者大的數據模型,使用ListView或者GridView更加適合。它們會在需要時動態的創建代理,減少在場景下一次顯示的元素的數量。

在視圖中的代理可以與數據模型中的屬性靜態綁定,或者動態綁定。使用視圖的onAdd與onRemove信號,可以動態播放的它們的顯示與消失。