2015-11-19 47 views
3

我有一個QGroupBox分配給它QVBoxLayout如何在Qt中使用墊片

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

然後是分配給所述佈局單QLabel

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

問題是QLabel位於GroupBox的中間位置。雖然我希望它與GroupBox的頂部邊緣對齊。我可能需要添加某種間隔。所以分隔符會自動調整大小以填充GroupBox的空白區域,向上推QLabel。

什麼部件和尺寸策略應該用作間隔器?

回答

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

這應該工作

+2

'layout.addStretch()'。 – ekhumoro

1

在pyQt5,現在QSpacerItemQSizePolicy類是QtWidgets的一部分,所以你想創建這樣一個垂直間隔...

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