मेरे पास एक QGLWidget है, जिसे मैं किसी दिए गए रिज़ॉल्यूशन (युक्त विंडो से बड़ा) का आकार बदलना चाहता हूं। मेरा इरादा यह है कि जब तक विजेट अंदर फिट बैठता है तब तक खिड़की फैली हुई है, लेकिन इसे करने का कोई तरीका नहीं मिल रहा है।सामग्री फिट करने के लिए विंडो का आकार बदलें
मैंने सफलता के बिना काम करने के लिए QGLWidget का आकार बदलने के बाद कई आदेशों का प्रयास किया। मैं यहां परिणामों की सूची दूंगा:
- कुछ और नहीं करें: विजेट पूरी विंडो ओवरलैप करता है। अंततः यह छोटे विंडो में वापस फिट करने के लिए
mainWindow.adjustSize()
बदल दिया जाएगा: विजेट का आकार बदला जाता है (0, 0)mainWindow.resize(mainWindow.sizeHint())
: उपरोक्तmainWindow.resize(mainWindow.minimumSizeHint())
देखें: ऊपर
मैं भी पढ़ देखना this thread में, मुख्यविंडो आकार बदलने से पहले I ईवेंट लूप को नए आकारों को फिर से समझने के लिए चलाने की आवश्यकता है, इसलिए मैंने ऐसा करने के लिए QCoreApplication::processEvents
डाला, बिना किसी दृश्य प्रभाव के।
तो मैं विजेट के माध्यम से विंडो का आकार कैसे बदलूं?
संपादित
GLWidget विंडो के विजेट केवल नहीं है। यह एक समूह बॉक्स के साथ स्प्लिटर में एम्बेडेड है।
हालांकि यह वास्तव में जरूरत आकार इसे आगे उपयोगकर्ता द्वारा आकार बदलने से रोकता खिड़की का आकार बदलता है:
खिड़की और छवि विजेट इस कोड के साथ छवियों के मूल आकार में बदल जा सकता है। प्रलेखन से: 'विजेट के न्यूनतम और अधिकतम दोनों आकारों को सेट करता है, जिससे इसे कभी भी बढ़ने या घटने से रोकता है।' मैंने बस पुराने न्यूनतम और अधिकतम आकार को सहेजने और पुनर्स्थापित करने का प्रयास किया, लेकिन इसके परिणामस्वरूप कोई बदलाव नहीं हुआ । – Nobody
'setFixedSize() 'के बजाय,' setMinimumSize()' का प्रयास करें, और 'setSizePolicy() 'का उपयोग करें। 'SetSizePolicy()' का उपयोग करके चीजों का विस्तार और प्रतिक्रिया कैसे होती है, इस पर आपके पास वास्तव में बहुत अधिक नियंत्रण है। 'setFixedSize()' एक बार में चीजों का एक गुच्छा करता है, इसलिए शायद यह नहीं है कि आप इस मामले में क्या चाहते हैं। – phyatt
'न्यूनतम आकार' भी मुझे गलत बात लगता है। उपयोगकर्ता मनमाने ढंग से आकार बदलने में सक्षम होना चाहिए। मुझे बस उस आकार पर पॉप करने की आवश्यकता है जो 'QGLWidget' के अनुरोधित आकार को फिट करे। – Nobody