नीचे दी गई छवि की तरह, मेरे पास QHBoxLayout है। इस 2 QVBoxLayout के अंदर जहां मैं दोनों के लिए विजेट्स की एक श्रृंखला जोड़ता हूं। लेकिन मैं चाहता हूं कि QHBoxLayout का विभाजन पूरी तरह से बीच में हो। प्रत्येक पक्ष के अंदर कुछ विगेट्स में विस्तार विकल्प होता है लेकिन मैं QHBoxLayout को किसी भी पक्ष को पूरी विंडो के आधे से अधिक आकार को पार करने की अनुमति नहीं देना चाहता हूं।

क्या यह संभव है? मैं यह कैसे कर सकता हूँ?

enter image description here

1
Joan Venge 19 सितंबर 2020, 19:11

1 उत्तर

सबसे बढ़िया उत्तर

QVBoxLayout जोड़ते समय समान खिंचाव कारक सेट करना एक संभावित समाधान है:

from PyQt5 import QtCore, QtGui, QtWidgets


class Widget(QtWidgets.QWidget):
    def __init__(self, parent=None):
        super().__init__(parent)

        hlay = QtWidgets.QHBoxLayout(self)

        left_vlay = QtWidgets.QVBoxLayout()
        right_vlay = QtWidgets.QVBoxLayout()

        hlay.addLayout(left_vlay, stretch=1)
        hlay.addLayout(right_vlay, stretch=1)

        left_vlay.addWidget(QtWidgets.QTextEdit())
        right_vlay.addWidget(QtWidgets.QLineEdit())

if __name__ == "__main__":
    import sys

    app = QtWidgets.QApplication(sys.argv)
    w = Widget()
    w.show()
    sys.exit(app.exec_())
2
eyllanesc 19 सितंबर 2020, 16:56