python PyQt5 QVBoxLayout 垂直布局管理

https://doc.qt.io/qtforpython/PySide2/QtWidgets/QVBoxLayout.html?highlight=qvboxlayout#PySide2.QtWidgets.QVBoxLayout

文章目录

    • 继承关系
    • 细节描述

继承关系

在这里插入图片描述

细节描述

此类用于构造垂直框布局对象。 有关详细信息,请参见QBoxLayout。

该类的最简单用法是这样的:(不过直接运行不了,,不知咋弄的??)

window =  QWidget()
button1 =  QPushButton("One")
button2 =  QPushButton("Two")
button3 =  QPushButton("Three")
button4 =  QPushButton("Four")
button5 =  QPushButton("Five")

layout =  QVBoxLayout()

layout.addWidget(button1)
layout.addWidget(button2)
layout.addWidget(button3)
layout.addWidget(button4)
layout.addWidget(button5)

window.setLayout(layout)
window.show()

后来修改了以下,能显示了,但不知道是否符合规范?

# -*- coding: utf-8 -*-
# Dontla 20200420

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


class Example(QWidget):

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

        self.initUI()

    def initUI(self):
        self.setGeometry(300, 300, 250, 150)
        self.setWindowTitle('QVBoxLayout')
        button1 = QPushButton("One")
        button2 = QPushButton("Two")
        button3 = QPushButton("Three")
        button4 = QPushButton("Four")
        button5 = QPushButton("Five")
        layout = QVBoxLayout()
        layout.addWidget(button1)
        layout.addWidget(button2)
        layout.addWidget(button3)
        layout.addWidget(button4)
        layout.addWidget(button5)
        self.setLayout(layout)
        self.show()


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

python PyQt5 QVBoxLayout 垂直布局管理_第1张图片

首先,我们在布局中创建所需的小部件。 然后,我们创建QVBoxLayout对象,并将小部件添加到布局中。 最后,我们调用setLayout()将QVBoxLayout对象安装到小部件上。 那时,布局中的小部件将重新进行父级化,以将窗口作为其父级。

在这里插入图片描述

See also

QHBoxLayoutQGridLayoutQStackedLayoutLayout ManagementBasic Layouts Example
class QVBoxLayout¶
QVBoxLayout(parent)

param parent
QWidget

构造一个新的垂直框。 您必须将其添加到另一个布局。

使用父parent构造一个新的顶级垂直框。

你可能感兴趣的:(Python)