欢迎访问宙启技术站
智能推送

PyQt中通过QVBoxLayout()实现自动调整控件大小的垂直布局

发布时间:2023-12-16 06:58:40

PyQt是一个用于创建图形用户界面(GUI)的Python模块,它提供了丰富的GUI控件和布局管理器。QVBoxLayout是一种布局管理器,可将控件按照垂直方向自动调整大小进行排列。下面是一个使用QVBoxLayout实现自动调整控件大小的垂直布局的例子。

import sys
from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QLabel

class Example(QWidget):

    def __init__(self):
        super().__init__()
        self.initUI()

    def initUI(self):
        # 创建一个垂直布局管理器
        vbox = QVBoxLayout()

        # 创建三个标签控件
        label1 = QLabel("Label 1")
        label2 = QLabel("Label 2")
        label3 = QLabel("Label 3")

        # 将标签控件添加到布局管理器中
        vbox.addWidget(label1)
        vbox.addWidget(label2)
        vbox.addWidget(label3)

        # 设置窗口的布局为垂直布局管理器
        self.setLayout(vbox)

        self.setGeometry(300, 300, 300, 200)
        self.setWindowTitle('Vertical Layout')
        self.show()

if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = Example()
    sys.exit(app.exec_())

在这个例子中,我们创建了一个QWidget,并在其上使用了QVBoxLayout作为布局管理器。我们创建了三个QLabel控件,并将它们添加到QVBoxLayout中。

QVBoxLayout会自动调整控件的大小,并将它们按照垂直方向排列。在这个例子中,标签控件的大小会随着窗口的大小而自动调整。

最后,我们将窗口的布局设置为QVBoxLayout,并显示窗口。

运行这个例子,你会看到三个标签控件按照垂直方向排列,并且它们的大小会随着窗口的调整而自动改变。

总结:通过使用QVBoxLayout,我们可以很方便地实现自动调整控件大小的垂直布局。这样,即使窗口的大小发生变化,控件也会自动适应布局,为用户提供更好的界面体验。