2013-05-15 6 views
11

में विजेट्स के बीच की जगह मैं Qt5.0.1 के साथ साइन-इन फॉर्म बनाने की कोशिश कर रहा हूं। मैंने 2 विजेट बनाए और मैंने अपने लेबल और लाइन संपादन उनमें से एक में रखा, और मेरा बटन दूसरे में। फिर मैंने इन 2 विगेट्स को एक QVBoxLayout में रखा, लेकिन लेआउट में दो विजेट के बीच की जगह उद्देश्य से अधिक है। मैंने सेटस्पेसिंग और सेटकंट्स मार्जिन की कोशिश की लेकिन वे इस कार्यक्रम के लिए काम नहीं कर पाए।QVBoxLayout

vhandle->setSpacing(0); 
vhandle->setMargin(0); 
vhandle->setContentsMargins(0,0,0,0); 
vhandle->addWidget(handle,0, Qt::AlignTop); 
vhandle->addWidget(handle2,0, Qt::AlignTop); 

लेकिन कुछ भी दो विगेट्स के बीच की जगह में बदल दिया है:

http://i.stack.imgur.com/R33MM.png

मुझे क्या करना चाहिए?

उत्तर

11

मुद्दा QVboxLayout के मार्जिन सेटिंग्स, लेकिन अपने कंटेनर विजेट का लेआउट और QVBoxLayout की रिक्ति की स्थापना के मार्जिन सेटिंग्स नहीं है। आप पहले से ही 0 पर रिक्ति सेट कर चुके हैं, यह ठीक होना चाहिए। इसके अलावा, मान लिया है कि upperWidgetLayout ऊपरी विजेट और lowerWidgetLayout के लेआउट कम विजेट का लेआउट कोशिश

upperWidgetLayout->setContentsMargins(-1, -1, -1, 0); 
lowerWidgetLayout->setContentsMargin(-1, 0, -1, -1); 

यह ऊपरी विजेट के लेआउट के नीचे मार्जिन और कम करने के लिए विजेट का लेआउट के शीर्ष मार्जिन सेट है

Dialog Layout

अस्थायी रूप से विभिन्न विजेट रंग आम तौर पर इस तरह के मुद्दों पर नज़र रखने के लिए एक अच्छा तरीका है: 0, ताकि वहाँ दो विजेट की सामग्री के बीच कोई जगह नहीं है। आप UI को डिज़ाइन करने के लिए क्यूटी डिज़ाइनर का भी उपयोग कर सकते हैं और जेनरेट किए जा रहे स्रोत कोड पर एक नज़र डालें (या सीधे अपनी प्रोजेक्ट में .ui फ़ाइल का उपयोग करें)।

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