मैं क्यूटी 4 में विजेट प्रदर्शित कुछ ग्राफिक डेटा बना रहा हूं साथ एक QGraphicsScene का उपयोग करना चाहिए और मैं इसके लिए QGraphicsScene
उपयोग करने के लिए, डेटा आइटम आदि के लिए QGraphicsItem
s बनानेमैं कैसे लेआउट और विगेट्स
हालांकि परीक्षा किया गया था, मैं नियंत्रण की कुछ परत जोड़ना चाहता था (उदाहरण के लिए स्क्रॉलबार, ज़ूम + अन्य बटन - मैं इसे इसी तरह की शैली में बनाना चाहता हूं जैसे कि Google मानचित्र, यानी, डेटा पूरे विजेट पर प्रदर्शित होगा, और बटन विजेट के ऊपर उन्हें दिखाया जाना चाहिए)। तो मैंने सोचा कि उन्हें दृश्य में जोड़ने के लिए संभव हो सकता है (शायद QGraphicsGroupItem
के बच्चे के रूप में जो डेटा पर दिखाया जाएगा)। लेकिन मैं चाहता हूं कि जब मैं पूरे विजेट का आकार बदलूं, तो & आकार बदलें, इसलिए मुझे उन्हें प्रबंधित करने के लिए QGraphicsLayout
का उपयोग करना चाहिए। लेकिन इस बिंदु पर, मैंने पाया कि चीजें बहुत जटिल हैं।
समस्या यह है कि जब QGraphicsLayout
उपयोग करते हुए, निम्नलिखित की कमी पकड़ है:
- केवल एक
QGraphicsWidget
एक लेआउट द्वारा प्रबंधित किया जा सकता QGraphicsLayout
केवल एकQGraphicsWidget
जिसका अर्थ है कि मुझे अपने नियंत्रण QGraphicsWidget
एस के रूप में बनाना होगा, डेटा विजेट पर शीर्ष स्तर QGraphicsWidget
जोड़ें, और टी प्रबंधित करें वह खुद को इस शीर्ष स्तर विजेट का आकार।
तो मैं पूछना चाहता हूँ:
एक क्लासिक दृष्टिकोण (यानी सभी नियंत्रण के लिए सादे पुराने विजेट का उपयोग, और केवल डेटा प्रदर्शित करने के लिए
QGraphicsScene
का उपयोग करें।) नहीं चाहेंगे अधिक उचित हो सकता है?क्या इस मामले में
QGraphicsScene
का उपयोग करने में कोई फायदा है (प्रदर्शन या सादगी ...)?मैं अपनी शक्तियों का शोषण करने के लिए
QGraphicsScene
का उपयोग कैसे करना चाहिए?
QGraphicsScene साथ सबसे बड़ी समस्या यह है कि यह वास्तव में एक विजेट नहीं है। यह सामानों (जैसे आयतों, इलिप्स ...) की तरह कुछ है जो स्वचालित रूप से खींचे जाते हैं, ज़ूम किया जा सकता है आदि। आप जो वर्णन करते हैं वह क्लासिक, सादा पुराना विजेट तरीका है, और मैं शायद उस पर चिपके रहूंगा।मैं "चमकदार और नई" कार्यक्षमता का उपयोग करना चाहता था, लेकिन दूसरे विचार पर, यह मेरे लिए चमकदार नहीं दिखता है, सिवाय किसी को मुझे गलत साबित करता है :) – jpalecek
jpalecek: "घड़ियों" विजेट डेमो @ http: // की जांच करें www.qtsoftware.com/developer/pimp-my-widgets-developer-contest .. घड़ी विजेट होने पर कुछ भी पसंद नहीं है लेकिन इसके लिए कार्यान्वयन QGraphics (दृश्य | विजेट | देखें | आइटम) के साथ किया जाता है। – rasjani
@jpalecek: मुझे नहीं लगता था कि एक QGraphicsScene एक विजेट था, यही कारण है कि मैंने "एक तरफ या किसी अन्य" का उत्तराधिकारी कहा। लेकिन आपके पास QGraphicsView (या कुछ समान) है, है ना? आप शायद अपने विजेट को उस पर रखना चाहते हैं, जब तक कि आप उन्हें अपने दृश्य में बदलना नहीं चाहते। मुझे लगता है कि इस मामले में सादा पुराना विजेट तरीका सरल और अधिक सीधे आगे है। –