Прижать слой в qt к верху окна, чтобы он не перемещался и не пытался занять доступное место
Делаю виджет, который будет отображать переданные в него виджеты как в таблице (принимает два параметра - количество виджетов в строке и какую часть экрана занимает каждый виджет).
Иерархия:
QScrollArea
QWidget container
QVBoxLayout mainLayout
QHBoxLayout btnLayout
QGridLayout gridLayout
Конструктор cpp
// контейнер для всех виджетов
container = new QWidget(this);
// компоновщик на контейнер
mainLayout = new QVBoxLayout(container);
container->setLayout(mainLayout);
// слой для кнопок (находится на одном уровне со слоем с виджетами)
btnLayout = new QHBoxLayout();
addWidgetBtn = new QPushButton("Добавить");
removeWidgetBtn = new QPushButton("Удалить");
btnLayout->addWidget(addWidgetBtn);
btnLayout->addWidget(removeWidgetBtn);
mainLayout->addLayout(btnLayout);
connect(addWidgetBtn, &QPushButton::clicked, this, &GridWidget::addWidget);
connect(removeWidgetBtn, &QPushButton::clicked, this, &GridWidget::removeWidget);
// устанавливаем виджет-контейнер в QScrollArea
this->setWidget(container);
Из за компоновщика выходит следующее
Каким образом я могу прибить слой с кнопками к верху или к низу (причем, чтобы при ресайзе он также растягивался горизонтально, но всегда был либо внизу либо вверху)?
Если прибиваю таким способ:
mainLayout->addStretch();
то кнопки прибиваются, но их слой все равно занимает все доступное место