use*_*622 4 python layout pyqt spacing qvboxlayout
我已经了解了如何调整布局中小部件之间的空间: Space Between widgets in QVBoxLayout。但是,我想知道如何调整添加到布局的布局之间的空间。
例如:
layout = QVBoxLayout()
h1_layout = QHBoxLayout()
h2_layout = QHBoxLayout()
layout.addLayout(h1_layout)
layout.addLayout(h2_layout)
Run Code Online (Sandbox Code Playgroud)
我希望h1_layout和的内容h2_layout彼此靠近放置,而不是在垂直布局上间隔开。
我假设您希望两个水平布局的内容在垂直布局的顶部对齐,而不是拉伸以填充整个可用空间。如果是这样,您可以通过在垂直布局的底部添加扩展垫片来实现此目的:
layout = QVBoxLayout()
h1_layout = QHBoxLayout()
h2_layout = QHBoxLayout()
layout.addLayout(h1_layout)
layout.addLayout(h2_layout)
# add expanding spacer
layout.addStretch()
Run Code Online (Sandbox Code Playgroud)
实现类似效果的另一种方法是设置父布局的对齐方式:
layout.setAlignment(QtCore.Qt.AlignTop)
Run Code Online (Sandbox Code Playgroud)