我想用QAbstractListModel
來填充一個帶有地圖元素(如MapCircle,...)的Qml地圖。似乎有兩個適合於此的Qml工具,MapItemView
[1]和Repeater
[2]。 Repeater
更強大(例如它允許嵌套模型) - 那麼是否有任何理由使用MapItemView
而不是Repeater
?Qt/Qml:Repeater與MapItemView的地圖元素
問候,
[1] http://doc.qt.io/qt-5/qml-qtlocation-mapitemview.html
[2] http://doc.qt.io/qt-5/qml-qtquick-repeater.html
MapItemView源:http://code.qt.io/cgit/qt/qtlocation.git/tree/src/location/declarativemaps/qdeclarativegeomapitemview.cpp
中繼器源:http://code.qt.io/cgit/qt/qtdeclarative.git/tree/src/quick/items/qquickrepeater.cpp
很難從文檔中判斷,但在大多數情況下,'Views'只是根據需要實例化。因此,「視口」之外的內容不會混淆你的記憶,初始創建時間會更好。 'Repeater'是轉儲。它會爲模型中的每個元素創建'Items',無論它們是否被顯示。 – derM
好點。我檢查了源代碼:''MapItemView''將所有項目添加到地圖。我不確定什麼''Repeater''準確地做,但可能它也會將這些項目添加到地圖。地圖本身處理可見項目渲染。 – Hyndrix