2010-08-31 14 views
9

मैं कुछ विजेट्स को कुछ यादृच्छिक स्थानों में पेरेंट विजेट में रखना चाहता हूं, जैसे पॉइंट (10,10) पर एक बटन और दूसरा (15,40) इत्यादि। इसे कैसे प्राप्त करें। QGridLayout सब कुछ पंक्ति स्तंभ शैली में धक्का दे रहा है। लेकिन मैं चाहता हूं कि विगेट्स व्हीवर मैं चाहता हूं, क्या कोई मेरी मदद कर सकता है?क्यूटी - विजेट - पोजिशनिंग

उत्तर

19

यदि आप वास्तव में पूर्ण पदों को सेट करना चाहते हैं, तो मैं सभी को एक लेआउट का उपयोग करके अनदेखा कर दूंगा। फ़ंक्शन या सेटगोमेट्री फ़ंक्शन का उपयोग करके आप मैन्युअल रूप से तत्वों की स्थिति सेट कर सकते हैं।

QWidget *parent = new QWidget(); 
parent->resize(400, 400); 

QPushButton *buttonA = new QPushButton(parent); 
buttonA->setText("First Button"); 
buttonA->move(10, 10); 

QPushButton *buttonB = new QPushButton(parent); 
buttonB->setText("Second Button"); 
buttonB->move(15, 40); 

साइड नोट: मैं क्यूटी में तत्वों की पूर्ण पदों की स्थापना से बच जाएंगे। क्यूं कर? खैर, क्यूटी एक मंच-स्वतंत्र जीयूआई पुस्तकालय बनने की कोशिश करता है। विभिन्न प्लेटफॉर्म पर, बहुत सी डिस्प्ले चीजें बदल सकती हैं (यानी पुश बटन में टेक्स्ट का फ़ॉन्ट आकार) ताकि आपके वास्तविक पुश बटन का आकार बड़े या छोटे फ़ॉन्ट आकार को समायोजित करने के लिए भिन्न हो। यह आपके सावधानी से दूरी वाले पुश बटन को फेंक सकता है क्या आप ऊपर दिए गए उदाहरण में पूर्ण पदों का उपयोग करते हैं।

यदि आप लेआउट का उपयोग करते हैं, तो ओवरलैपिंग बटन या आपकी विंडो के किनारे से गिरने वाले बटन से बचा जा सकता है।

+0

धन्यवाद आदमी, यह – prabhakaran

3

आप क्यूटी में ओवरले बटन के लिए मेरा उत्तर देख सकते हैं: Qt Widget Overlays। यह आपको प्राप्त करने में आपकी मदद कर सकता है।

+0

+1 काम करता है, वहां एक टिप्पणी जोड़ा गया है जैसे कि उदा। मैन्युअल रूप से विजेट को सही-संरेखित करें। –

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