如何在Qt中使用垫片

时间:2015-11-19 00:43:42

标签: python qt pyqt

我已为QGroupBox分配QVBoxLayout

groupBox = QtGui.QGroupBox()
layout = QtGui.QVBoxLayout()
groupBox.setLayout(layout )

然后为布局分配了一个QLabel

label = QtGui.QLabel()   
layout.addWidget(label)

问题是QLabel位于GroupBox的中间位置。虽然我希望它与GroupBox的上边缘对齐。我可能需要添加某种间隔物。因此,spacer会动态调整自身大小以填充GroupBox的空白区域,向上推动QLabel。

什么小部件和什么尺寸的政策应该用作间隔?

2 个答案:

答案 0 :(得分:10)

label = QtGui.QLabel()   
layout.addWidget(label)
verticalSpacer = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
layout.addItem(verticalSpacer)

这应该有效

答案 1 :(得分:4)

在pyQt5中,QSpacerItemQSizePolicy类现在是QtWidgets的一部分,因此您希望以这种方式创建垂直间隔...

verticalSpacer = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)