Sunday 24 December 2017

विदेशी मुद्रा विश्वविद्यालय qtableview qcheckbox


प्रत्येक UI डेवलपर को ModelView प्रोग्रामिंग के बारे में पता होना चाहिए और इस ट्यूटोरियल का लक्ष्य आपको इस विषय के लिए आसानी से समझने योग्य परिचय प्रदान करना है। तालिका, सूची और पेड़ विजेट अक्सर घटक GUIs में उपयोग किया जाता है। ये विगेट्स उनके डेटा का उपयोग कैसे कर सकते हैं, इस प्रकार 2 अलग-अलग तरीके हैं। पारंपरिक तरीके से विगेट्स शामिल होता है जिसमें डेटा को संचय करने के लिए आंतरिक कंटेनर शामिल होते हैं। यह दृष्टिकोण बहुत सहज है, हालांकि, कई गैर-तुच्छ अनुप्रयोगों में, यह डेटा सिंक्रनाइज़ेशन समस्याओं की ओर जाता है। दूसरा दृष्टिकोण मॉडलव्यू प्रोग्रामिंग है, जिसमें विगेट्स आंतरिक डेटा कंटेनरों को बनाए नहीं रखते हैं। वे मानकीकृत इंटरफ़ेस के माध्यम से बाह्य डेटा का उपयोग करते हैं और इसलिए डेटा दोहराव से बचें। यह पहली बार में जटिल लग सकता है, लेकिन एक बार आप एक बार देख लेते हैं, यह केवल समझना आसान नहीं होता है, लेकिन मॉडलविवे प्रोग्रामिंग के कई फायदे स्पष्ट होते हैं। , Qt,: मानक और मॉडलदृश्य विगेट्स के बीच का अंतर एडेप्टरों के रूपों और मॉडलों का विकास सरल मॉडेलव्यू अनुप्रयोग का विकास पूर्वनिर्धारित मॉडल जैसे मध्यवर्ती विषय: ट्री दृश्य मॉडल परीक्षण के साथ चयन डिबगिंग आप यह भी सीखेंगे कि क्या मॉडलव प्रोग्रामिंग के साथ आपका नया एप्लिकेशन आसान लिखा जा सकता है या यदि क्लासिक विजेट्स के साथ ही साथ काम करेंगे। इस ट्यूटोरियल में आपके लिए प्रोजेक्ट में संपादन और एकीकृत करने के लिए उदाहरण कोड शामिल हैं। ट्यूटोरियल स्रोत कोड Qts परीक्षा प्रत्यारोपण मॉडेलविले निर्देशिका में स्थित है। अधिक विस्तृत जानकारी के लिए आप संदर्भ प्रलेखन क्यूटी,, क्यूटी देख सकते हैं। । 1. मॉडलव्यू एक ऐसी तकनीक है, जो डेटा सेट को नियंत्रित करने वाले विगेट्स के दृश्यों से डेटा को अलग करने के लिए उपयोग किया जाता है। मानक विगेट्स दृश्यों से डेटा को अलग करने के लिए तैयार नहीं हैं और यही वजह है कि क्यूटी 4 के दो अलग-अलग प्रकार के विगेट्स हैं। दोनों प्रकार के विजेट समान दिखते हैं, लेकिन वे डेटा के साथ अलग-अलग तरीके से बातचीत करते हैं। मानक विगेट्स डेटा का उपयोग करते हैं जो कि विजेट का हिस्सा है। देखें क्लासेस बाह्य डेटा (मॉडल) पर कार्य करते हैं। 1.1 मानक विजेट्स एक मानक तालिका विजेट पर नज़दीकी नज़र आती है। एक टेबल विजेट डेटा तत्वों का 2 डी सरणी है जो उपयोगकर्ता बदल सकता है। तालिका विजेट को डेटा तत्वों को पढ़ने और लिखकर एक प्रोग्राम प्रवाह में एकीकृत किया जा सकता है, जो तालिका विजेट प्रदान करता है। यह विधि बहुत ही सहज और कई अनुप्रयोगों में उपयोगी है, लेकिन एक मानक तालिका विजेट के साथ एक डेटाबेस तालिका प्रदर्शित और संपादन समस्याग्रस्त हो सकता है। डेटा की दो प्रतियों को समन्वित करना होगा: विजेट के अंदर विजेट के बाहर एक। डेवलपर दोनों संस्करणों को सिंक्रनाइज़ करने के लिए जिम्मेदार है। इसके अलावा, प्रस्तुति और डेटा के तंग युग्मन के लिए यूनिट परीक्षण लिखना कठिन होता है। 1.2 मॉडल के लिए बचाव मॉडल वीव्यू एक समाधान प्रदान करने के लिए ऊपर कदम रखा जो एक अधिक बहुमुखी वास्तुकला का उपयोग करता है। मॉडल विडियो मानक विगेट्स के साथ हो सकने वाले डेटा स्थिरता समस्याओं को समाप्त कर देता है। मॉडलव्यू भी उसी डेटा के एक से अधिक दृश्य का उपयोग करना आसान बनाता है क्योंकि एक मॉडल कई दृश्यों पर पारित किया जा सकता है। सबसे महत्वपूर्ण अंतर यह है कि मॉडलदृश्य विजेट तालिका कोशिकाओं के पीछे डेटा संग्रहीत नहीं करते हैं। वास्तव में, वे सीधे आपके डेटा से कार्य करते हैं चूंकि देखने के वर्ग आपके datas संरचना को नहीं जानते हैं, इसलिए आपको अपने डाटा को QAbstractItemModel इंटरफ़ेस के अनुरूप बनाने के लिए एक आवरण प्रदान करना होगा। आपके डेटा से पढ़ने और लिखने के लिए एक दृश्य इस इंटरफ़ेस का उपयोग करता है QAbstractItemModel लागू करने वाले क्लास के किसी भी उदाहरण को एक मॉडल कहा जाता है। एक बार जब किसी दृश्य को एक मॉडल में एक सूचक मिलता है, तो वह उसकी सामग्री को पढ़ और प्रदर्शित करेगा और इसके संपादक होंगे। 1.3 ModelView विजेट्स का अवलोकन यहाँ मॉडलव्यूव्यू विजेट और उनके संबंधित मानक विगेट्स का अवलोकन है। (एक आइटम आधारित सुविधा वर्ग) QComboBox एक दृश्य वर्ग और एक पारंपरिक विजेट के रूप में भी काम कर सकता है। 1.4 प्रपत्रों और मॉडलों के बीच एडेप्टरों का उपयोग करना रूपों और मॉडलों के बीच एडेप्टर होने में आसान हो सकता है। हम तालिका में सीधे तालिका में सीधे संग्रहीत डेटा को संपादित कर सकते हैं, लेकिन टेक्स्ट फ़ील्ड में डेटा को संपादित करने के लिए अधिक सहज है डेटासेट के बजाय एक मान (QLineEdit। QCheckBox।) पर काम करने वाले विगेट्स के लिए डेटा और दृश्यों को अलग करने वाला कोई प्रत्यक्ष मॉडलदृश्य समकक्ष नहीं है, इसलिए फ़ॉर्म के डेटा को स्रोत से कनेक्ट करने के लिए हमें एक एडाप्टर की आवश्यकता है। QDataWidgetMapper एक महान समाधान है क्योंकि यह एक तालिका पंक्ति के लिए फ़ॉर्म विजेट को मैप करता है और डेटाबेस तालिकाओं के लिए फ़ॉर्म बनाने के लिए बहुत आसान बनाता है। एडेप्टर का एक और उदाहरण QCompleter है Qt के QCompleter को Qt विजेट में स्वत: पूर्णता प्रदान करने के लिए QComboBox और, जैसा नीचे दिखाया गया है, QLineEdit। QCompleter एक मॉडल का उपयोग अपने डेटा स्रोत के रूप में करता है 2. यदि आप एक मॉडेल-एविज़न एप्लिकेशन विकसित करना चाहते हैं, तो आपको कहां शुरू करना चाहिए, हम एक साधारण उदाहरण से शुरू करने की सलाह देते हैं और इसे चरण-दर-चरण बढ़ाते हैं। यह वास्तुकला को बहुत आसान समझ देता है IDE को लागू करने से पहले मॉडलदृश्य वास्तुकला को समझने की कोशिश में कई डेवलपर्स के लिए कम सुविधाजनक साबित हुआ है। एक सरल मॉडलदृश्य एप्लिकेशन के साथ शुरू करना काफी आसान है जिसमें डेमो डेटा है यह कोशिश करें कि नीचे दिए गए उदाहरणों में से डेटा अपने खुद के साथ बदलें। नीचे 7 बहुत सरल और स्वतंत्र अनुप्रयोग हैं जो मॉडलव्यू प्रोग्रामिंग के विभिन्न पक्ष दिखाते हैं। स्रोत कोड examplestutorialsmodelview निर्देशिका के अंदर पाया जा सकता है। 2.1 ए केवल पढ़ने के लिए तालिका हम एक आवेदन के साथ शुरू करते हैं जो डेटा दिखाने के लिए एक क्यूटेबल वीव का उपयोग करता है। हम संपादन क्षमताओं को बाद में जोड़ देंगे। (फ़ाइल स्रोत: examplestutorialsmodelview1readonlymain. cpp) हमारे पास सामान्य मुख्य () फ़ंक्शन है: यहां दिलचस्प भाग है: हम MyModel का एक उदाहरण बनाते हैं और tableView. setModel (ampmymodel) का उपयोग तालिका के एक सूचक को पास करने के लिए करते हैं। तालिका व्यू दो चीजों को खोजने के लिए प्राप्त करने वाले संकेतक के तरीकों का आह्वान करेगा: कितनी पंक्तियों और स्तंभों को प्रदर्शित किया जाना चाहिए। प्रत्येक सेल में क्या सामग्री मुद्रित होनी चाहिए मॉडल को इस पर प्रतिक्रिया देने के लिए कुछ कोड की आवश्यकता होती है। हमारे पास एक टेबल डेटा सेट है, इसलिए QAbstractTableModel के साथ शुरू करें, क्योंकि यह अधिक सामान्य QAbstractItemModel से उपयोग करना आसान है। (: परीक्षाप्रतिकृति ट्यूटोरियलमॉडेल्यूव्यू 1 रीडोनली माइमोडेल। एच) क्यूएबर्टटेबलमोडेल (: examplestutorialsmodelview1readonlymymodel. cpp) पंक्तियों और स्तंभों की संख्या MyModel :: rowCount () और MyModel :: columnCount () द्वारा प्रदान की गई है। जब दृश्य को पता है कि कोशिका पाठ क्या है, तो यह विधि MyModel :: data () को कहता है। पंक्ति और स्तंभ जानकारी पैरामीटर सूचकांक के साथ निर्दिष्ट की गई है और भूमिका को क्यूटी :: डिस्प्लेरोल पर सेट किया गया है। अन्य भूमिकाएं अगले अनुभाग में शामिल हैं I हमारे उदाहरण में, जो डेटा प्रदर्शित किया जाना चाहिए वह उत्पन्न होता है। एक वास्तविक आवेदन में, MyModel के सदस्य MyData नामक होगा। जो सभी पढ़ने और लेखन कार्यों के लिए लक्ष्य के रूप में कार्य करता है। यह छोटा उदाहरण एक मॉडल की निष्क्रिय प्रकृति को दर्शाता है। यह मॉडल नहीं जानता है कि इसका उपयोग कब किया जाएगा या किस डेटा की आवश्यकता है यह हर बार दृश्य अनुरोध करता है यह केवल डेटा प्रदान करता है। जब मॉडल डेटा को बदलना होगा तब क्या होता है दृश्य कैसे महसूस होता है कि डेटा बदल गया है और उसे फिर से पढ़ने की जरूरत है मॉडल को एक सिग्नल का उत्सर्जन करना होगा जो दर्शाता है कि कोशिकाओं की श्रेणी क्या बदल गई है। यह अनुभाग 2.3 में प्रदर्शित किया जाएगा। 2.2 भूमिकाओं के साथ केवल पढ़ने के उदाहरण को विस्तारित करना दृश्य को प्रदर्शित करने वाले टेक्स्ट को नियंत्रित करने के अलावा, मॉडल ग्रंथों की उपस्थिति को भी नियंत्रित करता है। जब हम थोड़ा मॉडल बदलते हैं, तो हम निम्न परिणाम प्राप्त करते हैं: वास्तव में, डेटा () विधि को छोड़कर कुछ भी नहीं फोंट, पृष्ठभूमि रंग, संरेखण और चेकबॉक्स सेट करने के लिए परिवर्तित किया जाना चाहिए। नीचे डेटा () विधि है जो उपरोक्त दिखाए परिणाम उत्पन्न करती है। अंतर यह है कि इस समय हम मूल्य के आधार पर जानकारी के विभिन्न टुकड़े वापस करने के लिए पैरामीटर इं भूमिका का उपयोग करते हैं। (: examplestutorialsmodelview2formattingmymodel. cpp) प्रत्येक फ़ॉर्मेटिंग प्रॉपर्टी को मॉडल से अलग से कॉल () विधि के साथ अनुरोध किया जाएगा। रोल पैरामीटर का इस्तेमाल मॉडल को पता करने के लिए किया जाता है कि कौन से संपत्ति का अनुरोध किया जा रहा है: Qt :: ItemDataRole enums क्षमताओं के बारे में अधिक जानने के लिए क्यूटी नाम स्थान दस्तावेज़ देखें। अब हमें यह निर्धारित करने की आवश्यकता है कि अलग-अलग मॉडल का उपयोग कैसे करता है अनुप्रयोग प्रदर्शन को प्रभावित करता है, इसलिए पता लगाता है कि डेटा कितनी बार कॉल करता है () विधि। ट्रैक को देखने के लिए मॉडल कितनी बार कॉल करता है, हमने डेटा () विधि में एक डीबग स्टेटमेंट डाल दिया है, जो त्रुटि आउटपुट स्ट्रीम पर लॉग करता है। हमारे छोटे उदाहरण में, डेटा () को 42 गुणा कहा जाएगा हर बार जब आप कर्सर को मैदान पर ले जाते हैं, तो प्रत्येक सेल के लिए डेटा () को फिर से 7 बार बुलाया जाएगा इसलिए यह सुनिश्चित करना ज़रूरी है कि डेटा () लागू होने पर आपका डेटा उपलब्ध हो और महंगी लुकअप कार्रवाई कैश की जाती है। 2.3 एक टेबल सेल के अंदर एक घड़ी हमारे पास अभी एक पढ़ने वाली तालिका है, लेकिन इस बार सामग्री हर दूसरे में बदलती है क्योंकि हम वर्तमान समय दिखा रहे हैं। घड़ी की टिक बनाने के लिए कुछ चीज़ गायब हो रही है (एक्सपेंप्लेस्टायोरियल्स मॉडेल देखें 3-चेंजिंगमॉडेलमीमोडेल। सीपीपी) हमें हर दूसरे दृश्य को बताने की जरूरत है कि समय बदल गया है और इसे फिर से पढ़ने की जरूरत है। हम एक टाइमर के साथ ऐसा करते हैं। निर्माता में, हम इसके अंतराल को 1 सेकंड में सेट करते हैं और इसके टाइमआउट सिग्नल से कनेक्ट करते हैं। (: examplestutorialtsmodelview3changingmodelmymodel. cpp) यहाँ संबंधित स्लॉट है: (: examplestutorialtsmodelview3changingmodelmymodel. cpp) हम डेटा को बदलकर फिर से शीर्ष बाएं सेल में डेटा पढ़ने के लिए कहें, बदलते हुए () संकेत ध्यान दें कि हमने स्पष्ट रूप से डेटा को परिवर्तित नहीं किया (दृश्य) सिग्नल यह स्वचालित रूप से हुआ जब हमने सेटमोडेल () कहा। 2.4 कॉलम और पंक्तियों के शीर्षलेखों को सेट करने के लिए एक दृश्य विधि के माध्यम से छुपाया जा सकता है: tableView-gtverticalHeader () - gthide () हैडर सामग्री, हालांकि, मॉडल के माध्यम से सेट की जाती है, इसलिए हम headerData () विधि को पुनःपूर्ति करते हैं: (: examplestutorialsmodelview4headersmymodel. सीपीपी) ध्यान रखें कि विधि हैडरडेटा () में एक पैरामीटर भूमिका भी है, जिसका अर्थ MyModel :: data () के समान है। 2.5 न्यूनतम संपादन का उदाहरण इस उदाहरण में, हम एक ऐसे आवेदन का निर्माण करने जा रहे हैं जो स्वचालित रूप से एक विंडो शीर्षक को सामग्री के साथ तालिका कोशिकाओं में दर्ज किए गए मूल्यों को दोहराते हुए पॉप्युलेट करता है। विंडो शीर्षक को आसानी से पहुंचने में सक्षम होने के लिए हम QTableView को QMainWindow में डालते हैं। यह मॉडल तय करता है कि संपादन क्षमताओं उपलब्ध हैं या नहीं। उपलब्ध संपादन क्षमताओं को सक्षम करने के लिए हमें केवल मॉडल को संशोधित करना होगा। यह निम्न आभासी विधियों को पुनः क्रियान्वित करके किया जाता है: setData () और झंडे () (: examplestutorialsmodelview5editmymodel. h) हम अपने डेटा को स्टोर करने के लिए दो-आयामी सरणी QString mgridData का उपयोग करते हैं। यह mgridData को MyModel का मुख्य बनाता है शेष MyModel एक आवरण की तरह कार्य करता है और QAbstractItemModel इंटरफ़ेस के लिए mgridData का अनुकूलन करता है। हमने editcompleted () सिग्नल भी पेश किया है, जिससे संशोधित पाठ को विंडो शीर्षक में स्थानांतरित करना संभव है। (: examplestutorialsmodelview5editmymodel. cpp) setData () प्रत्येक बार जब उपयोगकर्ता एक सेल को संपादित करता है सूचक पैरामीटर हमें बताता है कि कौन से क्षेत्र को संपादित किया गया है और मूल्य संपादन प्रक्रिया का परिणाम प्रदान करता है। भूमिका हमेशा क्यूटी :: एडिटराइल पर सेट की जाएगी क्योंकि हमारे कोशिकाओं में केवल पाठ शामिल है अगर कोई चेकबॉक्स मौजूद था और उपयोगकर्ता अनुमतियां चेकबॉक्स को चुनने की अनुमति देने के लिए सेट हैं, तो कॉल को क्यूटी :: चेकस्टेटरोल पर सेट की गई भूमिका के साथ भी बनाया जाएगा। (: examplestutorialtsmodelview5editmymodel. cpp) एक सेल के विभिन्न गुणों को झंडे के साथ समायोजित किया जा सकता है ()। यदि एक कक्ष का संपादन उस विशेष कक्ष के डेटा से अधिक डेटा को संशोधित करता है, तो मॉडल को डेटा को बदलना चाहिए, जो कि डेटा को पढ़ने के लिए बदल दिया गया है। 3. इंटरमीडिएट विषय 3.1 ट्रीव्यू आप ऊपर दिए गए उदाहरण को ट्री व्यू के साथ किसी एप्लिकेशन में कनवर्ट कर सकते हैं। बस QTreeView के साथ QTableView की जगह जो रीड्राइट ट्री में होता है मॉडल में कोई बदलाव नहीं किया जाना चाहिए। पेड़ के पास कोई पदानुक्रम नहीं होता है क्योंकि मॉडल में किसी भी पदानुक्रम नहीं है। QListView। QTableView और QTreeView सभी एक मॉडल अमूर्त उपयोग करते हैं, जो एक मर्ज किए गए सूची, तालिका और पेड़ है। इससे एक ही मॉडल से विभिन्न प्रकार के दृश्य वर्गों का उपयोग करना संभव हो जाता है। ऐसा हमारा उदाहरण मॉडल अब तक दिखता है: हम एक वास्तविक पेड़ पेश करना चाहते हैं। हमने एक मॉडल बनाने के लिए उपरोक्त उदाहरणों में अपना डेटा लिपटा है। इस बार हम QStandardItemModel का उपयोग करते हैं जो पदानुक्रमित डेटा के लिए एक कंटेनर है जो QAbstractItemModel को भी कार्यान्वित करता है। पेड़ दिखाने के लिए, QStandardItemModel को QStandardItem के साथ पॉप्युलेट किया जाना चाहिए, जो पाठ, फोंट, चेकबॉक्स या ब्रश जैसी वस्तुओं के सभी मानक गुण धारण कर सकते हैं। (: examplestutorialsmodelview6treeviewmainwindow. cpp) हम बस एक QStandardItemModel इन्स्तांत और कंसोल के लिए कुछ QStandardItems जोड़ें। हम एक पदानुक्रमित डेटा संरचना बना सकते हैं क्योंकि एक QStandardItem अन्य QStandardItems पकड़ सकता है। नोड्स संक्षिप्त हो गए हैं और दृश्य के भीतर विस्तारित हैं। 3.2 चयन के साथ कार्य करना हम चयनित मदों की सामग्री का उपयोग करना चाहते हैं ताकि पदानुक्रम स्तर के साथ विंडो शीर्षक में इसे आउटपुट कर सकें। तो दो मदों का निर्माण करें: (: examplestutorialtsmodelview7selections mainwindow. cpp) दृश्य एक अलग चयन मॉडल के भीतर चयन को प्रबंधित करता है, जिसे चयनमॉडल () पद्धति से पुनर्प्राप्त किया जा सकता है। स्लॉट को इसके चयन में जोड़ने के लिए हम चयन मॉडल पुनः प्राप्त करते हैं () संकेत (: testplestutorialsmodelview7selections mainwindow. cpp) हमें मॉडल इंडेक्स मिलता है जो कि ट्री दृश्य - gtselectionModel () - gtcurrentIndex () को कॉल करके चयन के अनुरूप होता है और हम मॉडल इंडेक्स का उपयोग करके फ़ील्ड स्ट्रिंग प्राप्त करते हैं। तो हम सिर्फ आइटम पदानुक्रम लेवल की गणना करते हैं। शीर्ष स्तर के आइटम्स के पास माता-पिता नहीं हैं और माता-पिता () विधि डिफ़ॉल्ट रूप से निर्मित QModelIndex () लौटेगी। यही कारण है कि हम माता-पिता () विधि का इस्तेमाल करते हैं, जो पुनरावृत्ति के दौरान किए गए चरणों की गिनती करते समय शीर्ष स्तर पर पुनरावृति करते हैं। चयन मॉडल (ऊपर दिखाए गए अनुसार) को पुनः प्राप्त किया जा सकता है, लेकिन इसे QAbstractItemView :: setSelectionModel के साथ भी सेट किया जा सकता है। सिंक्रनाइज़ किए गए चयनों के साथ 3 दृश्य क्लासों की यह संभव है क्योंकि चयन मॉडल के केवल एक उदाहरण का उपयोग किया जाता है। 3 विचारों के बीच एक चयन मॉडल को साझा करने के लिए चयन मॉडेल () का उपयोग करें और सेट के साथ दूसरे और तीसरे दृश्य वर्ग को सेट निर्दिष्ट करेंमॉडल ()। 3.3 पूर्वनिर्धारित मॉडल मॉडलव्यूवे का उपयोग करने के लिए विशिष्ट तरीका यह है कि विशिष्ट वर्गों को देखने के वर्गों के साथ प्रयोग करने योग्य बनाने के लिए। क्यूटी, हालांकि, आम अंतर्निहित डेटा संरचनाओं के लिए पूर्वनिर्धारित मॉडल भी प्रदान करता है। यदि उपलब्ध डेटा संरचनाओं में से कोई एक आपके आवेदन के लिए उपयुक्त है, तो एक पूर्वनिर्धारित मॉडल एक अच्छा विकल्प हो सकता है। तारों की एक सूची स्टोर करता है और एक और मॉडल को फ़िल्टर करता है 3.4 सभी उदाहरणों में अब तक डेटा को एक सेल में पाठ या चेकबॉक्स के रूप में प्रस्तुत किया जाता है और इसे टेक्स्ट या चेकबॉक्स के रूप में संपादित किया जाता है। जो घटक इन प्रस्तुति और संपादन सेवाओं को प्रदान करता है उन्हें एक प्रतिनिधि कहा जाता है। हम केवल प्रतिनिधि के साथ काम करना शुरू कर रहे हैं क्योंकि दृश्य एक डिफ़ॉल्ट प्रतिनिधि का उपयोग करता है लेकिन सोचें कि हम एक अलग संपादक (उदा। एक स्लाइडर या ड्रॉप डाउन सूची) चाहते हैं या कल्पना करें कि हम ग्राफिक्स के रूप में डेटा पेश करना चाहते हैं। स्टार डेलागेट नामक एक उदाहरण पर नजर डालते हैं। जिसमें सितारों को एक रेटिंग दिखाने के लिए उपयोग किया जाता है: दृश्य में एक सेटइटम डेलाइगेट () विधि है जो डिफ़ॉल्ट प्रतिनिधि को बदल देती है और कस्टम प्रतिनिधि को स्थापित करता है। QStyledItemDelegate से मिलने वाले वर्ग को बनाकर एक नया प्रतिनिधि लिखा जा सकता है एक प्रतिनिधि को लिखने के लिए जो सितारों को दिखाता है और इसमें कोई इनपुट क्षमता नहीं है, हमें केवल 2 तरीकों को ओवरराइड करना होगा रंग () अंतर्निहित डेटा की सामग्री के आधार पर सितारों को खींचता है डेटा को index. data () कॉल करके देखा जा सकता है प्रतिनिधियों sizeHint () पद्धति का उपयोग प्रत्येक सितारों के आयामों को प्राप्त करने के लिए किया जाता है, जिससे कि सेल सितारों को समायोजित करने के लिए पर्याप्त ऊंचाई और चौड़ाई प्रदान करें। कस्टम प्रतिनिधियों को लिखना सही विकल्प है यदि आप दृश्य डेटा के ग्रिड के अंदर कस्टम ग्राफ़िकल प्रतिनिधित्व के साथ अपना डेटा दिखाना चाहते हैं। यदि आप ग्रिड को छोड़ना चाहते हैं, तो आप कस्टम प्रतिनिधि का उपयोग नहीं करेंगे लेकिन कस्टम व्यू क्लास Qt प्रलेखन में प्रतिनिधियों के लिए अन्य संदर्भ: 3.5 मॉडल के साथ डिबगिंग टेस्ट मॉडल की निष्क्रिय प्रकृति प्रोग्रामर के लिए नई चुनौतियां प्रदान करती है। मॉडल में असंगतियां क्रैश करने के लिए आवेदन कर सकती हैं। चूंकि मॉडल को कई कॉलों से देखा जाता है, इसलिए यह पता लगाना मुश्किल है कि किस कॉल ने आवेदन को क्रैश कर दिया है और किस ऑपरेशन ने समस्या की शुरुआत की है। Qt लैब्स ModelTest नामक सॉफ्टवेयर प्रदान करता है जो मॉडल की जांच करता है, जबकि आपकी प्रोग्रामिंग चल रही है। हर बार मॉडल बदल जाता है, ModelTest मॉडल स्कैन करता है और एक जोर के साथ त्रुटियों की रिपोर्ट करता है। पेड़ के मॉडल के लिए यह विशेष रूप से महत्वपूर्ण है, क्योंकि उनकी श्रेणीबद्ध प्रकृति सूक्ष्म विसंगतियों के लिए कई संभावनाएं छोड़ देती है। मॉडल के विपरीत, मॉडलटैस्ट मॉडल की जांच करने के लिए श्रेणी इंडेक्स से बाहर का उपयोग करता है। इसका मतलब यह है कि आपका आवेदन ModelTest के साथ क्रैश हो सकता है, भले ही वह इसके बिना पूरी तरह से चला हो। इसलिए मॉडल टेस्ट का उपयोग करते समय आपको उन सभी इंडेक्सों को भी संभालना होगा जो सीमा से बाहर हैं 4. मॉडलव्यू प्रोग्रामिंग क्यूटी के प्रलेखन में काफी व्यापक रूप से कवर किया गया है लेकिन कई अच्छी पुस्तकों में भी है। सी जीयूआई प्रोग्रामिंग क्यूटी 4 जैस्मीन ब्लैंकेटेटे, मार्क समरफील्ड, प्रेंटिस हॉल, द्वितीय संस्करण आईएसबीएन 0-13-235416-0 जर्मन में भी उपलब्ध है: सी जीयूआई प्रोग्राममैरंग एमआईटी क्यूटी 4: ऑफिज़िएलले इनिफ्रुंग। एडिसन-वेस्ले आईएसबीएन 3-827327-29-6 द बुक ऑफ़ क्यूटी 4, बिल्डिंग क्यूटी एप्लीकेशन की कला डेनियल मोलकेतनिन, ओपन सोर्स प्रेस। आईएसबीएन 1-59327-147-6 क्यूटी 4 से अनुवादित, एप्लाइंसेंटविक लुंग में मरने के बाद ओपन सोर्स प्रेस आईएसबीएन 3- 9 37514-12-0 क्यूटी विकास फाउंडेशन जोहान थिलीन, अप्रेस ISBN 1-59059-831-8 उन्नत क्यूटी प्रोग्रामिंग मार्क ग्रीष्मफील्ड, प्रेंटिस हॉल आईएसबीएन 0-321-635 9 6 यह पुस्तक 150 से अधिक पृष्ठों पर ModelView प्रोग्रामिंग को कवर करती है। इन पुस्तकों के बारे में अधिक जानकारी क्यूटी वेब साइट पर उपलब्ध है। निम्न सूची में उपरोक्त सूचीबद्ध पहले तीन पुस्तकों में शामिल उदाहरण कार्यक्रमों का अवलोकन प्रदान करता है उनमें से कुछ समान अनुप्रयोगों के विकास के लिए बहुत अच्छे टेम्पलेट बनाते हैं। व्यापक कस्टम प्रतिनिधि का उदाहरण प्रदर्शन उदाहरणों के समान हैं, सिवाय इसके कि कोड के लिए कोई भी चलन उपलब्ध नहीं है। प्रदर्शनों की तुलना आम तौर पर उदाहरणों से समृद्ध होती है। साक्षात्कार प्रदर्शन एक ही मॉडल दिखाता है और चयन को तीन अलग-अलग दृश्यों के बीच साझा किया जाता है। स्प्रेडशीट प्रदर्शन स्प्रेडशीट के रूप में एक टेबल व्यू के प्रयोग को दर्शाता है, कस्टम प्रतिनिधियों का उपयोग करके प्रत्येक आइटम को उस प्रकार के डेटा के अनुसार प्रस्तुत करने के लिए उपयोग किया जाता है। मॉडल व्यू प्रौद्योगिकी के लिए एक संदर्भ दस्तावेज़ भी उपलब्ध है। 2008-2011 नोकिया कॉर्पोरेशन नोकिया, क्यूटी नोकिया कॉर्पोरेशन । , क्यूटी, क्यूटी,,,,, नोकिया , जीएनयू फ्री प्रलेखन लाइसेंस संस्करण 1.3। फ्री सॉफ्टवेयर फाउंडेशन क्यूटी ,,: Qt : माइक्रोसॉफ्ट विदेशी मुद्रा व्यापार विदेशी मुद्रा ट्रेडिंग शुरू करने के लिए स्कोपरी में व्यापार के लिए ऑनलाइन ट्रेडिंग के साथ ही ऑनलाइन ब्रोकर फॉरेक्स और स्ट्रैटेजी का विदेशी मुद्रा व्यापार शुरू होता है। सैन फ्रांसिस्को में विदेशी मुद्रा के लिए विदेशी मुद्रा के लिए आवेदन कर रहे हैं। ट्यूप्टी आई न्यू ओवई को एक भाग के लिए ओगगेटो का हिस्सा है: सीडीपी इन्वेस्टमेंटिटी एसजीआर, सोसाइटी डेल ग्रुपपो कैसा जमाव और प्रतिष्ठा के लिए, इंटरनेशनल कॉन्ट्रैक्ट इंटरनेशनल नेट डियानिया फॉरेक्स और एज़ेनी लैपप्लियाजियोन डाय ट्रेडिंग फॉरेक्स एंड सीएफडी नंबर 1 ट्रेडर्स द्वारा प्रतिभूति के लिए Google पोर्टफोलियो विदेशी मुद्रा, विदेशी मुद्रा स्कॉपीआरए एफएसजीजीएम के बारे में हमारी समीक्षा के दौरान, हमारे व्यापार के बारे में जानकारी देने के लिए धन्यवाद। इन्वेस्टिनी एनएल ट्रेडिंग फॉरेक्स से एन ब्रोकर्स रेगोलेंटो एटलेटिक, लॉकेन, एल्लो, 2 रन, लोपेन, स्पोर्ट, शौक, स्प्रिंट, स्प्रिंग शुरू करें। सुअर किनाइन कार्डिराड ट्रोबेट केर्डकेक्सस Pnev कार्दिट garanteeritud Asume तालिना ओसस लाग्री ओटैम सिंड कार्डेस्यूड जूबा टीएनए Sdameinfarkt. ee tugiteenus sdameinfarkti lbipdenud patsientidele पर, गलत एटिब टुला तेईम रावीमेट कासुटिमसेगा और अलस्टाद एलिस्टीली मुटुस्टेगा। प्राकृतिक व्यापार की व्यवस्था और किसी भी प्रकार के उपयोग के लिए किसी भी प्रकार की प्रथा (किसी भी वास्तविकता की वास्तविकता के आधार पर किसी भी प्रकार की सेवा के रूप में उपयोग नहीं किया जा सकता है।) विदेशी मुद्रा व्यापार (विदेशी मुद्रा) इस व्यापारी के लिए, हर व्यापारी के लिए एलएलईएल ऐप का इस्तेमाल किया जा सकता है एलजी के लिए आवेदन और विभिन्न फ्यूचर्स पोर्टफोलियो फॉरेक्स, ग्रेफीसी, लेस्लेटिंग, बेलेटरेन, फ़ॉपप्रंट्स, बेनिअन, वेलगाइन, हम कूल्इन के ग्रूट मैकेन बिज क्लेफक्र्रैक्ट, क्लीन के बारे में जानते हैं। व्यापार इंटरसेप्टर विदेशी मुद्रा व्यापार एक पेशेवर मुद्रा व्यापार ऐप प्रदान करता है, जो एक इंटर उन्नत व्यापार और विश्लेषण उपकरण के साथ यूआईटी इंटरफेस मेडी मोबिलि Intraday रिस्पोस्टा एक संयुक्त राष्ट्र में एक बड़े पैमाने पर काम करने के लिए, लुटिलिज़ो डेले मिडिया मोबाइल ट्रेडिंग के लिए अक्सर HOAs के साथ एक नकारात्मक कलंक है homeowners इस बार घर के मालिक नहीं वाल्टर्स मैनेजमेंट के साथ मेरी पहली छाप बहुत अच्छी रही है। एक अफ्रीकी सफारी और पर्यटन विशेषज्ञ की तलाश में, आप सही जगह पर आए हैं हमारे पास अफ्रीका में कई सफारी, पर्यटन और छुट्टियां हैं Migliore विदेशी मुद्रा के लिए आवेदन कर रहे हैं - विदेशी मुद्रा के लिए एक एंड्रॉइड प्रति बाजार निर्माता Segui परिभाषित किया गया है टेम्प्लो रीले में ला प्रीमियर ऐप फाइनेंजरिया मॉन्डियल फोर्निस क्वाटेजियन। आओ सी स्टांपा र टेंट निर्धारित करें और पता लगाएँ कि कैसे करें अनचे लोरो हंटो डिसिसो को रेडिएर ए लोरो घोषाष्टः घोषणा पत्र के उत्तरदायित्व मैं नेटमीडिया के लिए एक शानदार विदेशी मुद्रा कंपनी बन गया है, जिसमें 50 से अधिक कंप्यूटरों के लिए जावा प्रोग्राम लागू किया गया है, 8 अंक की तकनीक, 50 सूचक तकनीकों की जानकारी, ग्राफिक। 6 फ़रवरी 2016 Elenco delle 5 ऑनलाइन व्यापार के लिए ऑनलाइन व्यापार। विदेशी मुद्रा के लिए विदेशी मुद्रा के रूप में विदेशी मुद्रा के बारे में जानकारी देने के लिए, पेशेवरों के लिए एक पेशेवर प्रोग्राम के रूप में प्रस्तुत करना, विशेषज्ञ सलाहकार, सलाहकार, सलाहकार ली ऐप प्रति ट्रेडिंग ऑनलाइन ट्रेडिंग के लिए, ऑनलाइन विदेशी मुद्रा की तलाश के लिए एक वित्तीय संकट का समाधान करने के लिए आसान है, तो यह महत्वपूर्ण है। ग्राज़ी एंड ग्रेजिलि इन कंटिनो साइविल एंड एजगीरन्टीटी प्लस 500 टीआई परमिट। 24 फरवरी 2015 ग्राफिक्स में विदेशी मुद्रा: गफ़्फ़ी देई प्रिंसिपल टैक्सी डे केंबियो वैल्यूट एश ला लेटूरा डि: मिजिलियरी ग्रुप ऑफ ऑप्शियम बेंनेरी में व्यापार के लिए। पियाटाफोरा डे ट्रेडिंग ऑनलाइन ब्रोकर रेगुलेटमेंट मोबाइल के लिए आवेदन करें। आईटी प्रबंधन और क्लाउड सॉल्यूशंस को सरल बनाने के लिए सीजीड टिलबर्ग ने सीएजी टिलबर्ग के साथ काम करने वाले हेडडेस्क के टॉपडेस्क-स्कॉम-कॉप-पेलिंग को संभाले। विदेशी मुद्रा ट्रेडिंग इटालिया: सीआईओ डेनियल, डीपेन्डे द ची पायटाफोरा यूएसआई सु मेटाट्रेडर के लिए विज्ञापन, नेला कॉलोना दी सिन्स्ट्रार है, एक वॉयस चिआमाटा संकेतक हैं विदेशी मुद्रा के लिए काम करने के लिए विदेशी मुद्रा कार्यक्रम और विदेशी मुद्रा व्यापार कार्यक्रम के बारे में जानकारी देने के लिए, मेटाट्रेडर निंजा ट्रेंडर स्ट्रेस्टेशन प्रॉस्किट। । स्पिगज़िओन ग्राफीसी ट्रेडिंग फॉरेन एक्सचेंज सीफ़रेट्स इनटोनेंटि कंडीवो डेप्समैनिया रिली ट्रेविसिन बिरानिरियो अपाजियोजन मैगेलियर इनरसाकंडिबिली। ग्रिफी के लिए आवेदन पत्र के बारे में एक सूची दर्ज करें आवेदन ग्राफीसी Una elenco estaso di tutte le eSignal OnDemand - विदेशी मुद्रा eSignal। पीवीसी ईलेटस्ट्रोस्टिको पेलिकोला पीवीसी के साथ एक पेशेवर एजेंडे के लिए प्रस्तावित एजेंडे के अनुसार, ऑफर और सॉलिडी। 26 अप्रैल 2015 अनिवार्य रूप से चलने वाले टेक्निक्शा विदेशी मुद्रा हफ्ते की मुद्रास्फीति सुबरा एपीपी नियंत्रण के माध्यम से एक मज़ेदार होने के लिए तैयार है। विदेशी मुद्रा के माध्यम से मोबाइल के माध्यम से आवेदन करने वाले लोगों की मदद करने के लिए, इस जानकारी के बारे में जानकारी देने के बाद, यह आपके लिए आवश्यक जानकारी प्रदान करता है। वाल्टर्स मैनेजमेंट कंपनी सैन डिएगो, कार्ल्सबाड, चुला में होम्युलर्स एसोसिएशन (होआ) के लिए रियल एस्टेट प्रबंधन और सामुदायिक संघ प्रबंधन प्रदान करती है। टेम्प्लो रीले में ग्राफिक फॉरेक्स: ग्रिफ़ी देई प्रिंसिपल टैस्की डी केंबियो वैल्यूट। पब्बिलिकेटो डा: मेटीओफिनानजा - आई: 24-02-2015 3:35 अगगिरेना इल: 09-12-2016। कोरो ट्रेडिंग विदेशी मुद्रा मुक्त पेटेंट आईएसओ-एल 8-आर अध्यक्ष के साथ अलगाव और ध्वनि स्पष्टता में आश्चर्यजनक अंतर है। 25 जुलाई 2015 मोबाइल के जरिए विदेशी मुद्रा व्यापार के लिए ऑनलाइन विदेशी मुद्रा का उपयोग, मोबाइल फोन के माध्यम से अपने व्यापार के लिए किसी भी तरह का भुगतान करने के लिए कोई शुल्क नहीं होगा। । ग्रिफी के लिए आवेदन पत्र के बारे में एक सूची दर्ज करें ग्राफ़िक फॉरेक्स मल्टीप्ले ग्राफी इंडीक मल्टीपल विश्लेषण अनलिसिस पैनोरमिका मर्केटो Permalink। Buongiorno, व्यापार के लिए ऑनलाइन व्यापार के लिए एक व्यापार के बारे में जानकारी प्रदान करने के लिए है 212 व्यापार के लिए डेमो और मील की तरह है। ग्राफिक विदेशी मुद्रा फोरम विदेशी मुद्रा ट्रेडिंग और ट्रेडिंग सिस्टम ट्रेडिंग ऑटोमैटिक एसटीआई विदेशी मुद्रा माइक्रोसॉफ्ट ब्रोकर प्लस 500 Avafx इंटरएक्टिव ब्रोकर्स ओंडा आसान विदेशी मुद्रा। टेम्पो रीले ई कैलेंडारियो अर्थिको में ग्रेफीसी विदेशी मुद्रा ट्रेडिंग के लिए आवेदन करें Analisi Tecnica फॉरेक्स 24042015. अनलिसिस देई मर्काती 27042015

No comments:

Post a Comment