2014-10-04 249 views
2

我使用即一次動態C++模型和QML的ListView

ListView 
{ 
     model: cppobj.list 
     ... 
} 

cppobj顯示一個元件可被改性C++對象,即,可被移除項的QML列表視圖,所附等等。如果附加一個元素,ListView將返回到第一個元素。什麼是ListView.onRemove不叫。任何想法如何應對?

感謝

/編輯:C++對象的append功能看起來像這樣:

void append (QString str) { m_list.append(str); emit listChanged(m_list); } 
+1

[檢查此](http://stackoverflow.com/questions/22249521/is-it-possible-to-use-qabstracttablemodel-with-tableview-from-qtquick-controls/22265242#22265242) – Redanium 2014-10-07 22:36:02

回答

2

您需要使用QAbstractListModel。請參閱文檔here

+0

並在那裏用於QStrings的任何Model類(以便實現更少)?在我的情況下,'m_list'是QStringList? – marmistrz 2014-10-04 18:37:41

+1

您可以通過一個屬性公開'QStringList',但是'QAbstractListModel'是以每個項目爲基礎進行視圖更新的唯一方法。 – 2014-10-04 19:43:21

+0

和'QStringListModel'類?它繼承'QAbstractListModel'。 – marmistrz 2014-10-04 19:59:40