क्यूटी में विजेट्स को शीर्ष पर लंबवत रूप से संरेखित कैसे करें, जब मैं अपने लेआउट में विजेट जोड़ता हूं, तो वे डिफ़ॉल्ट रूप से लंबवत केंद्रित होते हैं। विजेट को लंबवत रूप से केंद्रित करने के बजाय विजेट को "नीचे सूचीबद्ध" करने का कोई तरीका है?क्यूवीबॉक्स लयआउट: केंद्र
उत्तर
अपनी पसंद के अनुसार संरेखण सेट करने के लिए void QLayout::setAlignment (Qt::Alignment alignment)
विधि का उपयोग करें।
मुझे यह layout.setAlignment()
का उपयोग करने से थोड़ा अधिक जटिल लगता है। यह अभी तक मेरे लिए काम नहीं कर रहा है, जब मुझे पता चला कि यदि आप विजेट्स का विस्तार कर रहे हैं, तो आप अधिकतम ऊंचाई निर्धारित करते हैं, तो उस विजेट को आपके इच्छित तरीके से गठबंधन नहीं किया जाएगा।
यहाँ उदाहरण कोड नहीं शीर्ष संरेखित QTextBrowser()
विजेट भले ही मैं layout.setAlignment(Qt.AlignTop)
फोन करता है। क्षमा करें कि यह पायथन में है, लेकिन सी ++ में अनुवाद करना बहुत आसान है (मैं कई बार दूसरी बार चला गया हूं)।
from PyQt4.QtCore import *
from PyQt4.QtGui import *
class MyWidget(QWidget):
"""
Create a widget that aligns its contents to the top.
"""
def __init__(self, parent=None):
QWidget.__init__(self, parent)
layout = QVBoxLayout()
label = QLabel('label:')
layout.addWidget(label)
info = QTextBrowser(self)
info.setMinimumHeight(100)
info.setMaximumHeight(200)
layout.addWidget(info)
# Uncomment the next line to get this to align top.
# layout.setAlignment(info, Qt.AlignTop)
# Create a progress bar layout.
button = QPushButton('Button 1')
layout.addWidget(button)
# This will align all the widgets to the top except
# for the QTextBrowser() since it has a maximum size set.
layout.setAlignment(Qt.AlignTop)
self.setLayout(layout)
if __name__ == '__main__':
import sys
app = QApplication(sys.argv)
widget = MyWidget()
widget.show()
widget.resize(QSize(900, 400))
app.exec_()
निम्नलिखित स्पष्ट layout.setAlignment(info, Qt.AlignTop)
कॉल खर्च पाठ विजेट काम करने के लिए मिलता है। कई विजेट alignement के लिए
myLayout.setAlignment(Qt.AlignTop)
काम करता है लेकिन:
myLayout.setAlignment(myWidget, Qt.AlignTop)
काम करता है केवल पहले विजेट के लिए आप लेआउट में जोड़ने
from PyQt4.QtCore import *
from PyQt4.QtGui import *
class MyWidget(QWidget):
"""
Create a widget that aligns its contents to the top.
"""
def __init__(self, parent=None):
QWidget.__init__(self, parent)
layout = QVBoxLayout()
label = QLabel('label:')
layout.addWidget(label)
info = QTextBrowser(self)
info.setMinimumHeight(100)
info.setMaximumHeight(200)
layout.addWidget(info)
# Uncomment the next line to get this to align top.
layout.setAlignment(info, Qt.AlignTop)
# Create a progress bar layout.
button = QPushButton('Button 1')
layout.addWidget(button)
# This will align all the widgets to the top except
# for the QTextBrowser() since it has a maximum size set.
layout.setAlignment(Qt.AlignTop)
self.setLayout(layout)
if __name__ == '__main__':
import sys
app = QApplication(sys.argv)
widget = MyWidget()
widget.show()
widget.resize(QSize(900, 400))
app.exec_()
दो समाधान के बीच तुलना करने के बाद, ऐसा लगता है कि । आखिरकार, समाधान आपके विगेट्स के QSizePolicy पर भी निर्भर करता है।
आप एक QVBoxLayout
है और अपने निश्चित आकार विजेट शीर्ष पर खड़ी होना चाहते हैं, तो आप बस एक ऊर्ध्वाधर खिंचाव अंत जोड़ने संलग्न कर सकते हैं:
layout.addStretch()
आप एक से अधिक स्ट्रेचर या अन्य खिंचाव आइटम नहीं हैं, तो आप एक पूर्णांक खिंचाव कारक तर्क निर्दिष्ट कर सकते हैं जो उनके आकार अनुपात को परिभाषित करता है।
addStretch और addSpacerItem देखें।
यह सुनिश्चित नहीं है कि यह आपके मूल प्रश्न का उत्तर दे रहा है, लेकिन यह उस समय का उत्तर है जब मेरे पास गुगल हो रहा था और इस पृष्ठ का नेतृत्व किया जा रहा था - इसलिए यह दूसरों के लिए भी उपयोगी हो सकता है।
क्या एक पोस्ट में 500 अंगूठे जोड़ने का कोई तरीका है? – Acidic
- 1. सापेक्ष लयआउट गुरुत्वाकर्षण केंद्र
- 2. केंद्र
- 3. केंद्र
- 4. स्क्रॉलव्यू के साथ सापेक्ष लयआउट स्क्रॉल नहीं
- 5. रेडियो ग्रुप रिलेटिव लयआउट का विस्तार?
- 6. नेविगेशन बार बैक बटन, पाठ केंद्र केंद्र
- 7. अधिसूचना केंद्र
- 8. केंद्र मूल्य
- 9. गणना केंद्र
- 10. केंद्र div
- 11. qlabel केंद्र
- 12. खेल केंद्र
- 13. केंद्र कॉलम
- 14. द्रव केंद्र
- 15. केंद्र सीएसएस
- 16. केंद्र Highcharts
- 17. केंद्र jQuery
- 18. खेल केंद्र
- 19. केंद्र एक div के अंदर एक div - केंद्र
- 20. सापेक्ष लयआउट "संसाधन को हल नहीं कर सका ..." एंड्रॉइड
- 21. दो या दो से अधिक नेस्टेड सापेक्ष लयआउट
- 22. रैखिकलायआउट, सापेक्ष लयआउट, आदि मार्जिन अपेक्षित काम नहीं करते हैं
- 23. सापेक्ष लयआउट एनीमेशन का काम नहीं करता है?
- 24. रिलेटिव लयआउट में नीचे एंड्रॉइड बटन को संरेखित करना?
- 25. यह सापेक्ष लयआउट लेआउट या इसके लीनियरलाउट पेरेंट बेकार है
- 26. रिलेवेटिवआउट में एक कंटेनर में रखे बिना कई आइटम केंद्र?
- 27. केंद्र एक div
- 28. एक केंद्र और त्रिज्या
- 29. एंड्रॉयड: केंद्र संरेखित ImageButtons
- 30. बटन केंद्र सीएसएस
इसने मेरी समस्या भी हल की। मुझे सच में यकीन नहीं है * क्यों * किसी को न्यूनतम चौड़ाई/ऊंचाई निर्धारित करने की आवश्यकता है। क्या आप शायद उस पर विस्तार कर सकते हैं? – Seth