我的應用程序存儲一些從 QAbstractListModel
對象繼承的類型的對象。QAbstractListModel和QList適配器
這種包裝簡單 std::vector<T>
或QList<T>
到模型與一般加時, 刪除和多選功能,產生了相當多的重複的代碼。
是這樣的方式QAbstractListModel
應該被使用或者是有一些 適配器類,可以消除重複的代碼(至少對於 容器是Qt的一部分)?
例如:我想將vector<ObjectA>
和vector<ObjectB>
換成模型。代碼insertRows
,deleteRows
,columnCount
等總是會是相同的,我想鞏固(與一個小的元編程,甚至可以與tuple
和data
工作)。
你的意思是'QAbstractListModel'還是'QAbstractItemModel'? – Karlson 2012-01-17 14:37:54
@Karlson事實上,ModelView框架中的衆多相似名稱讓我感到困惑。我將離開標籤'abstractitemmodel'標籤,因爲它似乎是框架的主要標籤。 – pmr 2012-01-17 14:42:16
明白了。我的答案在下面。 – Karlson 2012-01-17 14:47:29