# `QVBoxLayout`

> 原文： [https://pythonbasics.org/QVBoxLayout/](https://pythonbasics.org/QVBoxLayout/)

`QVBoxLayout`在窗口中垂直组织窗口小部件。

除了让您自己组织所有小部件（指定地理位置）之外，您还可以让 PyQt 来处理它。

使用`.addWidget()`添加的每个新窗口小部件都是垂直添加的。 基本上，您可以获得小部件的垂直列表。 每个新的小部件都将添加到列表的底部。

从`PyQt5.QtWidgets`导入`QVBoxLayout`。




## 垂直布局

### `QVboxLayout`示例

下面的简单示例创建一个`QVboxLayout`。 然后使用`addWidget`方法，在**垂直方向**上添加新创建的按钮。

```py
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QVBoxLayout
app = QApplication([])
window = QWidget()
layout = QVBoxLayout()
layout.addWidget(QPushButton('1'))
layout.addWidget(QPushButton('2'))
layout.addWidget(QPushButton('3'))
window.setLayout(layout)
window.show()
app.exec_()

```

这将创建此应用程序：

![pyqt vertical layout](img/0dae36cbf5a5e7f0b1d59b7d66936b89.jpg)

`addWidget()`中的参数接受`PyQt5.QtWidgets`中的任何小部件，例如`QPushButton`和所有其他可用的小部件。

不要忘记使用`window.setLayout(layout)`将`QVBoxLayout`添加到窗口中。

[下载示例](https://gum.co/pysqtsamples)