我已为QGroupBox
分配QVBoxLayout
。
groupBox = QtGui.QGroupBox()
layout = QtGui.QVBoxLayout()
groupBox.setLayout(layout )
然后为布局分配了一个QLabel
。
label = QtGui.QLabel()
layout.addWidget(label)
问题是QLabel位于GroupBox的中间位置。虽然我希望它与GroupBox的上边缘对齐。我可能需要添加某种间隔物。因此,spacer会动态调整自身大小以填充GroupBox的空白区域,向上推动QLabel。
什么小部件和什么尺寸的政策应该用作间隔?
答案 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中,QSpacerItem和QSizePolicy类现在是QtWidgets的一部分,因此您希望以这种方式创建垂直间隔...
verticalSpacer = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)