2015-11-19 3 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, теперь QSpacerItem и QSizePolicy классы являются частью QtWidgets, так что вы хотели бы создать вертикальную распорку таким способом ...

verticalSpacer = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) 
Смежные вопросы