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_())
首先,我们在布局中创建所需的小部件。 然后,我们创建QVBoxLayout对象,并将小部件添加到布局中。 最后,我们调用setLayout()将QVBoxLayout对象安装到小部件上。 那时,布局中的小部件将重新进行父级化,以将窗口作为其父级。
See also
QHBoxLayoutQGridLayoutQStackedLayoutLayout ManagementBasic Layouts Example
class QVBoxLayout¶
QVBoxLayout(parent)
param parent
QWidget
构造一个新的垂直框。 您必须将其添加到另一个布局。
使用父parent构造一个新的顶级垂直框。