Russian Qt Forum

Qt => Общие вопросы => Тема начата: robin_bobin от Октябрь 12, 2012, 10:10



Название: Компоновка виджетов и изменение размеров
Отправлено: robin_bobin от Октябрь 12, 2012, 10:10
1. на форме располагаются в QFrame в количестве n в лэйаутах QHBoxLayout. все эти лэауты помещены в один QVBoxLayout, который располагается на главной форме. т.е. компонуются по вертикали в столбик, с одинаковой шириной.

2. на каждом QFrame располагаются 3 виджета в лэйоуте QHBoxLayout. виджеты выстроены в равные столбики.


третий виджет(ComboBox) должен менять свой размер при добавлении туда новых айтемов(во время выполнения программы), если они шире, чем уже добавленные. делаю я это с помощью adjustSize(); но это не срабатывает.

Подскажите, как в моей ситуации сделать так, чтобы втджет расширялся на столько, чтобы вмещался текст айтемов, и на столько же расширялась форма вместе с ним?

вот схема расположения виджетов
http://hostingkartinok.com/show-image.php?id=e28bb11e6ee8a0ded1cf48292e2a11a5


Название: Re: Компоновка виджетов и изменение размеров
Отправлено: navrocky от Октябрь 12, 2012, 23:53
У комбика есть свойство sizeAdjustPolicy, проверь что оно содержит QComboBox::AdjustToContents. По умолчанию оно равно QComboBox::AdjustToContentsOnFirstShow.

Почему не используешь QGridLayout?


Название: Re: Компоновка виджетов и изменение размеров
Отправлено: robin_bobin от Октябрь 13, 2012, 15:11
У комбика есть свойство sizeAdjustPolicy, проверь что оно содержит QComboBox::AdjustToContents. По умолчанию оно равно QComboBox::AdjustToContentsOnFirstShow.

Почему не используешь QGridLayout?

Большое спасибо, помогло :) а зачем QGridLayout? по-моему в моей ситуации он не нужен, или я чего-то не понимаю)


Название: Re: Компоновка виджетов и изменение размеров
Отправлено: navrocky от Октябрь 14, 2012, 14:28
Судя по твоей картинке у тебя виджеты по сетке стоят, поэтому возникает вопрос - почему бы не использовать сеточный лайаут?