Дарья
Дарья

Reputation: 167

How to stretch QBoxLayout in PyQT5?

how to stretch the QHboxLayout and QVBoxLayout in PyQT5? Which method should I use? The pictures of result are given in links (as you see when window is small it also doesn't fit in the shape of the window)

from PyQt5.QtWidgets import QApplication, QMainWindow, QTextEdit, 
QLabel, QVBoxLayout, QHBoxLayout, QWidget, QDesktopWidget
import sys


class Window(QWidget):
    def __init__(self):
        super().__init__()
        self.initUI()

    def initUI(self):
        label1 = QLabel('Введите слова')
        words = QTextEdit()

        label2 = QLabel('Результат')
        result = QTextEdit()

        vbox1 = QVBoxLayout()
        vbox1.addStretch(1)
        vbox1.addWidget(label1)
        vbox1.addWidget(words)

        vbox2 = QVBoxLayout()
        vbox2.addStretch(1)
        vbox2.addWidget(label2)
        vbox2.addWidget(result)

        hbox = QHBoxLayout()
        hbox.addStretch(1)
        hbox.addLayout(vbox1)
        hbox.addLayout(vbox2)
        self.setLayout(hbox)


        self.setGeometry(300, 300, 500, 500)
        self.setWindowTitle('try')
        self.show()

if __name__ == '__main__':
    app = QApplication(sys.argv)
    w = Window()
    sys.exit(app.exec_())

Small window

Full window

Upvotes: 4

Views: 6321

Answers (1)

LJaremek
LJaremek

Reputation: 41

You have to put hbox to QWidget and set it as central widget.

main_widget = QWidget()
main_widget.setLayout(hbox)
self.setCentralWidget(main_widget)

Upvotes: 2

Related Questions