PyQt5 框布局
QBoxLayout 将给定空间划分为框,其中每个框完全填充一个精确的小控件。它可以在垂直或水平方向添加小控件,其中垂直或水平的选择取决于对象的实例类型。
QVBoxLayout
在垂直方向添加小控件,而 QHBoxLayout
在水平方向添加小控件。
QVboxLayout - 垂直布局
我们可以使用 QVBoxLayout 类在垂直方向添加小控件。QVBoxLayout 类继承自 QBoxLayout 类。

在这个例子中,我们将小控件(按钮)添加到 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_())