2012-05-09 12 views
7

मैं एक मॉडल का उपयोग कर कस्टम डेटा स्टोर करना चाहता हूं। इसके लिए, थोड़ा उलझन में हूं कि किस आइटम मॉडल को उप-वर्गीकरण के लिए चुनना है। मुझे कुछ स्पष्टीकरण की आवश्यकता है, जो सबक्लासिंग का सबसे अच्छा मॉडल है? और मुझे QStandardItemModel पर QAbstractItemModel के फायदे की भी आवश्यकता है?QStandardItemModel पर QAbstractItemModel के क्या फायदे हैं?

धन्यवाद!

उत्तर

2

यह आपकी आवश्यकताओं पर निर्भर करता है। QStandardItemModel का उपयोग करें यदि आप केवल कस्टम डेटा स्टोर करना चाहते हैं और अपना खुद का मॉडल तर्क नहीं लिखना चाहते हैं। यह सामान्य है, आप उप-वर्गीकरण के बिना कस्टम डेटा के लिए इसका उपयोग कर सकते हैं।

दूसरी तरफ, यदि आप अपना खुद का मॉडल तर्क लिखना चाहते हैं, तो QAbstractItemModel चुनें। यह अमूर्त वर्ग है। इसका मतलब है, इसका कोई व्यवहार लागू नहीं हुआ है, यह सिर्फ एक 'इंटरफ़ेस' है। यह आपको बताता है कि आपके मॉडल को कौन से तरीके लागू करना चाहिए, इसलिए इसे क्यूटी में अन्य आइटम मॉडल श्रेणी के रूप में उपयोग किया जा सकता है।

+0

धन्यवाद kousalik! कोई अन्य प्रमुख अंतर? – Dev

+0

नहीं, QStandardItemModel QAbstractItemModel – Kousalik

+0

@ Kousalik का कार्यान्वयन (सबक्लास) है, क्या आप संभावित रूप से 'मॉडल तर्क' से क्या मतलब कर सकते हैं? QStandardItemModel कार्यान्वयन क्या विशिष्ट मॉडल तर्क है, जो AbstractItemModel द्वारा नहीं किया जाता है? उदाहरण के लिए, यदि आप चाहते हैं कि आपका मॉडल संपादन योग्य हो, तो क्या मानक ItemModel के साथ यह आसान है? मैं सिर्फ उत्सुक हूं क्योंकि मैं QAbstractItemModel का उपयोग कर रहा हूं, और इस बारे में सोच रहा हूं कि मुझे QStandardItemModel पर क्यों जाना चाहिए या नहीं। – neuronet