क्यूटी-डिजाइनर के साथ ऑटो-विस्तार लेआउट


217

मैं क्यूटी डिजाइनर का उपयोग कर रहा हूं।

मैं एक QVBoxLayoutऐसी विंडो बनाना चाहता हूं जो पूरी विंडो को भरने के लिए स्वचालित रूप से विस्तारित हो।

QVBoxLayoutतय किए गए अवशेषों का लेआउट ।

मैं QVBoxLayoutडिजाइनर के माध्यम से पूरी खिड़की का विस्तार करने और भरने का कारण कैसे बन सकता हूं ?


यदि आप केवल Qt डिज़ाइनर में लेआउट देखना चाहते हैं, तो कृपया bellow युक्तियों का संदर्भ लें: stackoverflow.com/questions/1508939/qt-layout-on-qmainwindow

जवाबों:


366

QVBoxLayoutQt Designer में अपना निर्माण करने के बाद , अपने विजेट / डायलॉग / विंडो (नहीं QVBoxLayout, बल्कि पैरेंट विजेट) की पृष्ठभूमि पर राइट-क्लिक करें और ले-आउट का चयन करें -> संदर्भ-मेनू के नीचे से ग्रिड में लेट आउट करेंQVBoxLayoutअब खिड़की फिट करने के लिए खिंचाव चाहिए और जब पूरी विंडो का आकार बदलने पर स्वचालित रूप से आकार नहीं बदलेंगे।


6
धन्यवाद, मैं इस समस्या के समाधान के लिए भी देख रहा हूँ।
साइमन एच।

35
दरअसल, आपको ग्रिड लेआउट बनाने की बिल्कुल भी जरूरत नहीं है। अपने आप को QVBoxLayout बनाने के बजाय, सभी आइटमों का चयन रद्द करें और विजेट की पृष्ठभूमि पर क्लिक करें। फिर ले आउट का चयन करें -> लेट आउट वर्टिकल।
मिशाल कोट्टमन

3
@ मीकल कोट्टमैन: यह केवल डिज़ाइन समय पर काम करता है। उपयोगकर्ता द्वारा रन टाइम पर विंडो का आकार बदलने पर यह लेआउट में बदलाव नहीं करेगा।
जय

5
ग्रिड और वर्टिकल लेआउट दोनों मेरे लिए डिज़ाइन और रनटाइम पर काम करते हैं।
एंडीडॉग

2
मैं थोड़ा विस्तार जोड़ना चाहता हूं: यदि आप एक क्वैटाबिडगेट पेज पर सेल्फ-स्ट्रेचिंग लेआउट जोड़ना चाहते हैं , तो आप वास्तव में पेज की पृष्ठभूमि पर राइट-क्लिक नहीं कर सकते हैं, क्योंकि आप क्यूटाबीडगेट का चयन करेंगे और प्रासंगिक टैब का चयन नहीं करेंगे। आपको डिज़ाइन विंडो में दिखाए अनुसार टैब लेबल पर राइट क्लिक करना है , और फिर ले आउट का चयन करें -> एक ग्रिड में लेट आउट
इमानुएल सिपोला

15

प्रलेखन के अनुसार , शीर्ष स्तर के लेआउट सेट होने की आवश्यकता है।

एक शीर्ष स्तर का लेआउट यह सुनिश्चित करने के लिए आवश्यक है कि जब आपकी विंडो का आकार बदल जाएगा तो आपके विजेट सही ढंग से आकार लेंगे। यह जांचने के लिए कि क्या आपने शीर्ष स्तर का लेआउट सेट किया है, अपने विजेट का पूर्वावलोकन करें और आकार की पकड़ को खींचकर खिड़की के आकार बदलने का प्रयास करें।

आप चयन को साफ़ करके और फ़ॉर्म पर स्वयं क्लिक करके और संदर्भ मेनू में उपलब्ध लेआउट में से किसी एक को चुनकर सेट कर सकते हैं।

क्यूटी लेआउट


2

मैंने "फिट टू स्क्रीन" प्रॉपर्टी खोजने की कोशिश की है, लेकिन ऐसा नहीं है।

लेकिन विजेट की "मैक्सिमाइज" को "कुछ बड़ी संख्या" (2000 x 2000 की तरह) सेट करना विजेट को मूल विजेट स्पेस में फिट कर देगा।


6
रेटिना डिस्प्ले (2880x1800) के साथ मैकबुक प्रो पर इस तकनीक के साथ क्या होता है?
ta.speot.is

1
बस इसे अधिकतम संख्या पर सेट करें जो इसे स्वीकार करेगा (जो डिजाइनर मुझे 16777215 दिखाता है) और इसे किसी भी मॉनिटर के आकार पर काम करना चाहिए।
andreb

0

एक बार जब आप अपने लेआउट को इसमें कम से कम एक विजेट के साथ जोड़ लेते हैं, तो अपनी विंडो चुनें और QtDesigner के "अपडेट" बटन पर क्लिक करें। इंटरफ़ेस को सबसे अनुकूलित आकार में आकार दिया जाएगा और आपका लेआउट पूरी विंडो में फिट होगा। फिर विंडो को आकार देते समय, लेआउट को उसी तरह से आकार दिया जाएगा।


मुझे लगता है कि जब उपयोगकर्ता पूरी विंडो का आकार बदलता है, तो ऊर्ध्वाधर लेआउट (और इस प्रकार इसकी सामग्री) इसे फिट करने के लिए खिंचाव करेगी। मुझे परवाह नहीं है कि यह Qt डिज़ाइनर में कैसा दिखता है।
एलाजार लीबोविच

-7

"पसंदीदा" के लिए नियंत्रण / विगेट्स के लिए क्षैतिजपॉलिश और वर्टिकलपॉलिशि सेट करें ।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.