Адаптивный макет в Qt
На форме есть два verticalLayout и один horizontalLayout, нужно сделать их адаптивными к размеру окна, то есть при изменении его размеров данные элементы должны пропорционально расширяться или сужаться до определённых значений. Пробовал поместить все эти виджеты в gridLayout, но размеры не изменялись. Возможно ли реализовать такую адаптивность в Qt Designer? Или необходимо делать это программно?
Ответы (2 шт):
Для того что бы добиться такого эффекта необходимо дописать 3 строчки кода. Первое что вам необходимо сделать это создать VboxLayout в окне mainwindow в дизайнере и растянуть его побольше для удобства. Далее устанавливаете этот Layout как центр widget. Для этого в конструкторе mainwindow добавляете следующее:
QWidget *widget = new QWidget();
widget->setLayout(ui->verticalLayout);//verticalLayout имя переменной в ui форме
setCentralWidget(widget);
После этого в этот Layout накидываете вертикальный и горизонтальный Layout, после чего уже наполняете сами Layout.


