PyQt5 框布局

QBoxLayout 将给定空间划分为框,其中每个框完全填充一个精确的小控件。它可以在垂直或水平方向添加小控件,其中垂直或水平的选择取决于对象的实例类型。

QVBoxLayout 在垂直方向添加小控件,而 QHBoxLayout 在水平方向添加小控件。

QVboxLayout - 垂直布局

我们可以使用 QVBoxLayout 类在垂直方向添加小控件。QVBoxLayout 类继承自 QBoxLayout 类。

PyQt5 QVboxLayout

在这个例子中,我们将小控件(按钮)添加到 QVBoxLayout 实例,然后我们将实例添加到窗口。

from PyQt5.QtWidgets import (QApplication, QComboBox, QDialog,
        QDialogButtonBox, QFormLayout, QGridLayout, QGroupBox, QHBoxLayout,
        QLabel, QLineEdit, QMenu, QMenuBar, QPushButton, QSpinBox, QTextEdit,
        QVBoxLayout)

import sys

class Dialog(QDialog):
    NumGridRows = 3
    NumButtons = 4

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

        b1=QPushButton("Button1")
        b2=QPushButton("Button2")
        b3=QPushButton("Button3")
        b4=QPushButton("Button4")

        mainLayout = QVBoxLayout()
        mainLayout.addWidget(b1)
        mainLayout.addWidget(b2)
        mainLayout.addWidget(b3)
        mainLayout.addWidget(b4)

        self.setLayout(mainLayout)
        self.setWindowTitle("Form Layout - tastones.com")


if __name__ == '__main__':
    app = QApplication(sys.argv)
    dialog = Dialog()
sys.exit(dialog.exec_())