2012-05-09 138 views

回答

2

這取決於您的需求。 如果您只是想存儲自定義數據並且不想編寫自己的模型邏輯,請使用QStandardItemModel。這是通用的,您可以將它用於不帶子類的自定義數據。

另一方面,如果您希望編寫自己的模型邏輯,請選擇QAbstractItemModel。它是抽象類。這意味着,它沒有實現行爲,它只是一個'界面'。它告訴你模型應該實現哪些方法,所以它可以用作Qt中的其他ItemModel類。

+0

謝謝kousalik!任何其他主要差異? – Dev

+0

不,QStandardItemModel是QAbstractItemModel的實現(子類) – Kousalik

+0

@Kousalik您可以擴展您的'模型邏輯'的含義嗎? QStandardItemModel實現哪些特定的模型邏輯,哪些不是由AbstractItemModel完成的?例如,如果你希望你的模型是可編輯的,使用StandardItemModel更容易嗎?我只是好奇,因爲我一直在使用QAbstractItemModel,並且正在考慮爲什麼我應該或不應該切換到QStandardItemModel。 – neuronet

相關問題