Мой виджет имеет два макета. Основной макет - outerLayout
, и он всегда должен занимать весь виджет. Он содержит QLabel
и второй макет с именем innerLayout
.
innerLayout
должен быть центрирован внутри outerLayout
, и он должен быть достаточно большим, чтобы содержать его виджеты. Я установил ограничения по размеру для обоих макетов, но в следующем коде innerLayout
расширяется, чтобы заполнить outerLayout
.
outerLayout = new QVBoxLayout();
outerLayout->addWidget(label);
outerLayout->setSizeConstraint(QLayout::SetMaximumSize);
innerLayout = new QGridLayout();
innerLayout->setAlignment(Qt::AlignHCenter);
innerLayout->setSizeConstraint(QLayout::SetFixedSize);
outerLayout ->addLayout(innerLayout);
setLayout(outerLayout);
Если я установлю ограничение размера для обоих макетов на SetFixedSize
, обамакеты будут уменьшены до их минимального размера. Но я хочу, чтобы внешний макет занимал все пространство, а внутренний макет занимал минимально возможное пространство. Есть идеи?