2012-06-18 11 views
15

मैं क्यूटी डिजाइनर में से एक के समान एक ढहने वाला साइड पैनल बनाने की कोशिश कर रहा हूं (संलग्न स्क्रीनशॉट देखें)। वे कुछ प्रकार के ढहने वाले विजेट में रखे गए QListViews प्रतीत होते हैं।क्या क्यूटी में ढहने योग्य पैनल के लिए मानक घटक है?

enter image description here

मैं "क्यूटी सिमटने पैनल" के लिए googled और ऐसा लगता है इस के लिए कोई मानक घटक है कि, या उस नाम के तहत कम से कम नहीं। तो, क्या किसी को पता है कि किसी मानक क्यूटी घटक का एक ही व्यवहार है या नहीं? यदि नहीं, तो क्या कोई सुझाव दे सकता है कि मैं इसे बनाने के बारे में कैसे जा सकता हूं?

धन्यवाद।

+2

व्यवहार QTreeView के समान नहीं है? शीर्ष स्तर के आइटम विजेट श्रेणियां हैं और नीचे के स्तर वाले आइटम स्वयं विजेट हैं? शायद आप एक QTreeView उपclass कर सकते हैं और शीर्ष स्तर की वस्तुओं के रूप को अनुकूलित कर सकते हैं और उन्हें एकल क्लिक पर विस्तारित कर सकते हैं। – Claudio

उत्तर

13

मैंने जॉय द्वारा प्रदान किए गए लिंक में रखे गए सामान्य दृष्टिकोण का पालन करने का निर्णय लिया।

विशेष रूप से, मैंने प्रत्येक संक्षिप्त सूची के लिए एक विजेट बनाया है। इस विजेट में शीर्ष पर एक QPushButton और नीचे QListView शामिल है।

फिर, मैंने कूलिस्ट व्यू की ज्यामिति को टॉगल करने के लिए बटन को एक हैंडलर पर क्लिक किया, जब यह छिपा हुआ हो और उसकी मूल ऊंचाई फिर से दिखाई देने पर हो।

मुझे लगता है कि क्लाउडियो द्वारा सुझाए गए पेंट इवेंट को अनुकूलित करने की तुलना में यह दृष्टिकोण बहुत आसान है। इसके अलावा, मैं सूची को "स्लाइड" में और बाहर देखने के लिए ज्यामिति में परिवर्तन को एनिमेट करने के लिए QAnimationProperty का उपयोग कर सकता हूं।

लेकिन फिर भी उत्तरों के लिए धन्यवाद!

+2

शायद आपको पेंट इवेंट को कस्टमाइज़ करने की आवश्यकता नहीं होगी, यह डिस्प्ले शैली को समायोजित करने के लिए पर्याप्त हो सकता है। शीर्ष स्तर के आइटमों के लिए आप केंद्रित संरेखण, अलग-अलग पृष्ठभूमि और त्रिकोण आइकन सेट करते हैं, जब वे विस्तारित होते हैं, और रूट सजावट को बंद कर देते हैं। एनिमेशन QTreeView द्वारा संभाला जाता है। लाभ यह है कि आपको केवल एक पेड़ मॉडल प्रदान करना होगा, इससे कोई फर्क नहीं पड़ता कि कितने शीर्ष स्तर के आइटम हैं। आपके समाधान के साथ यदि आप कोई श्रेणी जोड़ते हैं तो आपको अपने विजेट को संशोधित करना होगा, और आपके आइटम कई दृश्यों में फैले हुए हैं। यदि यह आपको चिंता नहीं करता है तो आपका समाधान ठीक होना चाहिए। – Claudio

+0

हाय। सलाह के लिये धन्यवाद। मैं QTreeView को अनुकूलित करने की संभावना को देखूंगा। आपने जो वर्णन किया है वह वास्तव में एक अधिक लचीला दृष्टिकोण की तरह लगता है। लेकिन फिलहाल मुझे केवल एक ही स्तर पर वस्तुओं को प्रदर्शित करने की आवश्यकता है। मेरी मुख्य चिंता अभी भी यूआई कैसे दिखाई देगी। यदि QTreeView वांछित दिखने और महसूस कर सकता है तो मैं इसके साथ जाऊंगा। सहायक संकेत के लिए वैसे भी धन्यवाद! – lightalchemist

+10

क्या आप अपना कोड साझा कर सकते हैं? – SomethingSomething

संबंधित मुद्दे