Russian Qt Forum

Qt => Вопросы новичков => Тема начата: LynXzp от Март 13, 2017, 02:06



Название: ScrollArea и VerticalSpacer
Отправлено: LynXzp от Март 13, 2017, 02:06
Что нужно: Хочу разместить на форме ScrollArea которая как может вмещаться в в форму так и нет, в зависимости от размеров. Чтобы в случае если ScrollArea не вмещается - появлялся Scroll и все было доступно, но чтобы если форму растянули до размеров больше чем ScrollArea, то чтобы сама ScrollArea не росла дальше в размерах.
VerticalSpacer - логичное решение, но не тут то было. Они совсем не дружат вместе.
Подробности: На TabWidget лежат ScrollArea и VerticalSpacer.
Пробовал минимальные/максимальные размеры ScrollArea, менять sizeType у VerticalSpacer - не могу достичь нужного эффекта.

Хороший ресайз формы: https://pp.userapi.com/c636631/v636631386/4ee26/7lkO0D_rckk.jpg (https://pp.userapi.com/c636631/v636631386/4ee26/7lkO0D_rckk.jpg)
Плохой ресайз формы: https://pp.userapi.com/c636631/v636631386/4ee1c/Lgoow4qfNdQ.jpg (https://pp.userapi.com/c636631/v636631386/4ee1c/Lgoow4qfNdQ.jpg)

Если ссылка не временная то gif анимацию можно просмотреть здесь: https://cs540100.userapi.com/c812229/u184076386/docs/8c7bbfe05d1d/Spectacle_TJ3879.gif (https://cs540100.userapi.com/c812229/u184076386/docs/8c7bbfe05d1d/Spectacle_TJ3879.gif)

Если у ScrollArea выставить минимальный размер - то она совсем не будет уменьшаться.
Если убрать VerticalSpacer то ScrollArea или растягивается на все свободное место или (при выставлении MaxHeight) становится по центру (приемлимо, но уродливо).
Пробовал и SizePolicy у ScrollArea и sizeType у VerticalSpacer и Layout мучал на котором все лежит, не могу добиться нужного, казалось бы базового эффекта.


Название: Re: ScrollArea и VerticalSpacer
Отправлено: LynXzp от Март 13, 2017, 02:25
Нашел, странное, но решение:
- у ScrollArea выставляем MaximumSize;
- SizePolicy - minimumExpanding
- и под формой располагаем невидимый (пустой) Label (VerticalSpacer не подходит)

По горизонтали - то же самое. (Layout естественно превратил в Grid)

Правда эти два Label занимают некоторое место, но в принципе жить можно.