आप QListWidget
के व्यवहार को कैसे बदलते हैं ताकि यह एक (प्रतीत होता है मनमानी) ऊंचाई चुनने और स्क्रॉलबार जोड़ने के बजाय इसकी ऊंचाई का आकार बदल सके? देखें स्क्रीनशॉट:QListWidget जो स्क्रॉल के बजाय आकार बदलता है
QListView
की क्षैतिज रूप में ज्यादा जगह को भरने चाहिए, क्योंकि वे कर सकते हैं (के रूप में कई बनाने "कॉलम," अगर आप करेंगे।) तब वे लपेट और करने के लिए आवश्यक के रूप में के रूप में कई पंक्तियों बनाने सभी वस्तुओं को फिट करें। खिड़की का आकार बदलने के बाद इन गणनाओं को समायोजित किया जाना चाहिए। यह सब ठीक काम कर रहा है।
हालांकि, मैं क्या चाहता हूं ऐसा होना चाहिए कि ऊंचाई रहने की बजाय, QListView
लंबवत रूप से बढ़ना या हटाना चाहिए और किसी भी स्क्रॉलबार की आवश्यकता नहीं है। स्क्रॉलिंग, यदि आवश्यक हो, तो माता-पिता QWidget
पर संभाला जाएगा जो सभी लेबल और सूचियों को होस्ट करता है। ऐसा लगता है कि QListWidget
की ऊंचाई एक बार स्थापित हो गई है (सुनिश्चित नहीं है कि इसका डिफ़ॉल्ट कहां से आ रहा है), यह कभी भी नहीं बदलता है। यह कुछ मामलों में बहुत बड़ा है (ऊपर दूसरी "टेस्ट" सूची देखें) और दूसरों में बहुत छोटा (देखें पहले "रिक्त मानचित्र" सूची देखें।)
ऊपर लेआउट कुछ भी आश्चर्यजनक नहीं है: दो QLabel
और दो QListWidget
रों एक QVBoxLayout.
यहाँ में गुण मैं QListWidget
पर सेट किए गए हैं ':
setMovement(QListView::Static);
setResizeMode(QListView::Adjust);
setViewMode(QListView::IconMode);
setIconSize(QSize(128, 128));
(मैं पहले से ही क्षैतिज और ऊर्ध्वाधर स्क्रॉलबार नीतियां निर्धारित करने की कोशिश की, लेकिन वह सिर्फ स्क्रॉलबार बंद हो जाती है, सामग्री कतरन नहीं। मैं क्या चाहता हूं।)
ठीक है, यह बहुत करीब है। जब तक QScrollBox तस्वीर में नहीं है तब तक यह बहुत अच्छा काम करता है। जैसे ही मैं इसे जोड़ता हूं, क्यूवीबॉक्स लयआउट उतना पतला हो जाता है जितना वह कर सकता है और जब तक यह कर सकता है। (यह आकार बदल रहा है QSize का संकेत (1 9 7, 9 42)।मैंने QWidget :: setSizePolicy और QLayout :: setSizeConstraint के प्रत्येक संयोजन की कोशिश की है जिसे मैं सोच सकता हूं, और उस व्यवहार को कुछ भी बदल नहीं रहा है। रहस्य क्या है? –
'QScrollArea :: setWidgetResizable()' FOR। । जीत !!! आपकी मदद के लिए बहुत बहुत धन्यवाद ... मैं 'QListWidget' खरगोश का निशान नीचे 2 दिन खो दिया। –