Russian Qt Forum

Qt => Вопросы новичков => Тема начата: timovadia от Ноябрь 16, 2020, 19:56



Название: Как привязать виджеты к границе главного окна?
Отправлено: timovadia от Ноябрь 16, 2020, 19:56
Подскажите, пожалуйста, как привязать встроенные в форму виджеты к границе главного окна приложения? Нужно, чтобы виджеты пропорционально изменяли размеры при изменении размеров главного окна, когда границу тяну/сжимаю мышью.


Название: Re: Как привязать виджеты к границе главного окна?
Отправлено: tux от Ноябрь 16, 2020, 20:08
Использовать QHBoxLayout и/или QVBoxLayout. Еще есть QGridLayout.
Ну и почитать документацию.


Название: Re: Как привязать виджеты к границе главного
Отправлено: timovadia от Ноябрь 16, 2020, 20:22
Не понимаю. У меня уже на форме существует более десятка разных виджетов. Как к ним всем одновременно применить какой-нибудь Layout? Нужно их всех выделить? Если я их все выделяю и применяю, то размеры виджетов съезжают. Или мне нужно заново перекомпоновывать элементы на форме, вставляя каждый виджет в Layot?


Название: Re: Как привязать виджеты к границе главного окна?
Отправлено: kambala от Ноябрь 17, 2020, 00:12
да, в дизайнере надо выделить нужные и задать им layout. также можно просто на само окно кликнуть и выбрать ему layout — он применится ко всем дочерним элементам. Еще надо задавать нужную size policy и вставлять «пружинки» (растягивающееся пустое место) при необходимости.

все это можно и кодом сделать, естественно, причем для сложных компоновок это будет намного проще и нагляднее.


Название: Re: Как привязать виджеты к границе главного окна?
Отправлено: timovadia от Ноябрь 17, 2020, 13:45
Так и знал, что придется шаманить с этими формами. Думал, там все проще. Спасибо!