Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: kambala от Апрель 10, 2011, 13:37



Название: Авторесайз виджета в зависимости от размера лейбла
Отправлено: kambala от Апрель 10, 2011, 13:37
Здравствуйте. Есть виджет, в котором есть QFormLayout, внутри которого несколько элементов, в т.ч. и QLabel справа. Надо сделать так, чтоб виджет автоматически подгонял свой размер под длину этого QLabel'a.

Пробовал вызывать resize(sizeHint()) виджета сразу после присваивания текста лейблу - не помогает.

Для лейбла установлена политика Expanding, для QFormLayout - ExpandingFieldsGrow. Виджету ставил Expanding, Preferred и Maximum - не помогло.

Вообще, честно говоря, я с этими политиками до сих пор полностью и не разобрался, хотя уже сколько раз про них читал и в ассистенте и в книжках. Может у кого есть толковая статья по ним? Буду премного благодарен.


Название: Re: Авторесайз виджета в зависимости от размера лейбла
Отправлено: lesav от Апрель 10, 2011, 13:45
Label->setText("LongText");
Label->adjustSize();
...->resize(Label->size());


Название: Re: Авторесайз виджета в зависимости от размера лейбла
Отправлено: kambala от Апрель 10, 2011, 14:03
спасибо, но без использования координат левого элемента в QFormLayout всё равно не обошлось. я думал есть способ поэлегантнее :)