PyQt5 框佈局

QBoxLayout 將給定空間劃分為框,其中每個框完全填充一個精確的小控制元件。它可以在垂直或水平方向新增小控制元件,其中垂直或水平的選擇取決於物件的例項型別。

QVBoxLayout 在垂直方向新增小控制元件,而 QHBoxLayout 在水平方向新增小控制元件。

QVboxLayout - 垂直佈局

我們可以使用 QVBoxLayout 類在垂直方向新增小控制元件。QVBoxLayout 類繼承自 QBoxLayout 類。

![PyQt5 QVboxLayout](/img/Tutorial/PyQt5/PyQt5 QVBoxLayout.png)

在這個例子中,我們將小控制元件(按鈕)新增到 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_())