2012-05-09 21 views
7

Model kullanarak özel verileri depolamak istiyorum. Bunun için, alt sınıflandırma için hangi madde modelinin seçileceği konusunda biraz kafam karıştı. Alt sınıflandırma için en iyi model olan bazı açıklamalara ihtiyacım var mı? Ayrıca QStandardItemModel üzerinden QAbstractItemModel avantajlarına ihtiyacım var?QStandardItemModel üzerinden QAbstractItemModel avantajları nelerdir?

Teşekkürler!

cevap

2

İhtiyaçlarınıza bağlıdır. Yalnızca özel verileri depolamak ve kendi model mantığınızı yazmak istemiyorsanız, QStandardItemModel kullanın. Bu geneldir, alt sınıflar olmadan özel veriler için kullanabilirsiniz.

Diğer taraftan, kendi model mantığınızı yazmak isterseniz, QAbstractItemModel'u seçin. Bu soyut sınıftır. Yani, hiçbir davranış uygulanmadığı, sadece bir 'arayüz' olduğu anlamına gelir. Modelinizin hangi yöntemleri uygulayacağını size söyler, böylece Qt'de diğer ItemModel sınıfı olarak kullanılabilir.

+0

Teşekkürler kousalik! Diğer önemli farklılıklar? – Dev

+0

Hayır, QStandardItemModel, QAbstractItemModel – Kousalik

+0

@ Kousalik uygulamasının (alt sınıf) 'model mantığı' ile ne demek istediğinizi genişletebilir mi? QStandardItemModel, hangi soyut model mantığı yapar, hangi AbstractItemModel tarafından yapılmaz? Örneğin, modelinizin düzenlenebilir olmasını istiyorsanız, bir StandardItemModel ile daha kolay mı? Ben sadece merak ediyorum QAbstractItemModel kullanıyorum ve neden QStandardItemModel geçiş yapmam gerektiğini veya neden olmam gerektiğini düşünüyorum. – neuronet

İlgili konular