Russian Qt Forum

Qt => Вопросы новичков => Тема начата: eXeLe от Апрель 18, 2013, 12:29



Название: Растягивающийся интерфейс
Отправлено: eXeLe от Апрель 18, 2013, 12:29
Сделал в программе интерфейс с возможностью растягивать окно программы (компоновка по сетке).
Но при этом растягиваются все элементы, либо промежутки между ними.
Сделал для некоторых layout-ов, которые не надо растягивать layoutSizeConstraint=SetFixedSize - становится почти то, что нужно.
Но нужно по сути, чтоб интерфейс спокойно растягивался по ширине, а по высоте - только один элемент (окно со списком).
Понимаю, что скорее всего банальное решение - добавить Horizontal Spacer сбоку от фиксированных layout-ов и объединить в общий layout, но возможно есть еще какие способы заставить растягиваться layout только в одном направлении, а по другому сделать Fixed?


Название: Re: Растягивающийся интерфейс
Отправлено: Bepec от Апрель 18, 2013, 12:33
То, что у лайаутов есть свойства растягиваний втиснутых в них элементов, вам известно?

Т.е. можно сделать растягиваемыми любые элементы в лейауте. Stretch свойство сие.


Название: Re: Растягивающийся интерфейс
Отправлено: eXeLe от Апрель 18, 2013, 12:40
я так понимаю, это тоже самое, что sizePolicy объекта в дизайнере?
тут тогда появляется другая проблема, что объектов в лэйауте может крайне и крайне немало и проставить каждому нужные свойства - не особо удобно. проще уж сделать еще один layout со Spacer'ами.
или речь о чем то другом?


Название: Re: Растягивающийся интерфейс
Отправлено: Bepec от Апрель 18, 2013, 12:46
О другом :D

layoutStretch свойство посмотрите в дизайнере :) Мб станет яснее.

Проще выражаясь это свойство устанавливается в лейауте. Будет 100 виджетов - будет 100 ноликов. Исправил 5 и 98 нолик на единичку - вуаля, растягиваются только 5 и 98 элемент :)


Название: Re: Растягивающийся интерфейс
Отправлено: eXeLe от Апрель 18, 2013, 12:58
конкретно layoutStretch нет, по крайней мере в 2.6.2 крейтере (либо я не туда смотрю =))
как я понял, за нужное мне отвечают эти два свойства:
layoutRowStretch
layoutColumnStretch
В них как раз перечислены нули по кол-ву столбцов/строк в лэйауте.
не придал сперва значения этим свойствам.


Название: Re: Растягивающийся интерфейс
Отправлено: Bepec от Апрель 18, 2013, 13:11
Они есть у лайаута. Не у виджета, а именно у лейаута, который можно выбрать в дереве объектов.