Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: ecspertiza от Ноябрь 19, 2010, 22:26



Название: Волшебные QLabel
Отправлено: ecspertiza от Ноябрь 19, 2010, 22:26
Есть необходимость расположить на виджете два лейбла, с условием растягивать их по максимум возможного, между двумя лейблами должен быть QSpacerItem что бы один лейбл прижимался в правому краю второй к левому. Я накидал пример, он в аттаче, но как не пробовал что то у меня ничего не получается, может была у кого такая ситуация или пример есть.


Название: Re: Волшебные QLabel
Отправлено: ufna от Ноябрь 20, 2010, 00:16
А QHBoxLayout с addStretch(1) между лейблами не канает?


Название: Re: Волшебные QLabel
Отправлено: SimpleSunny от Ноябрь 20, 2010, 00:51
Если правильно понял, то скомпонуйте два лейбла в QHBoxLayout. И потом задайте выравнивание
labelLeft->setAlignment(Qt::AlignLeft);
labelRight->setAlignment(Qt::AlignRight);


Название: Re: Волшебные QLabel
Отправлено: ecspertiza от Ноябрь 21, 2010, 11:39
Если лейбла только два на форме ,то их можно без проблем скомпоновать в QHBoxLayout ,а если их например 4тыре и должно быть по два с каждой стороны ,а между 2ым и 3ем свободное пространство?


Название: Re: Волшебные QLabel
Отправлено: Marat(Qt) от Ноябрь 21, 2010, 14:51
Вот такой вариант могу предложить.

p.s. не wery, а very.


Название: Re: Волшебные QLabel
Отправлено: ufna от Ноябрь 22, 2010, 16:41
Если лейбла только два на форме ,то их можно без проблем скомпоновать в QHBoxLayout ,а если их например 4тыре и должно быть по два с каждой стороны ,а между 2ым и 3ем свободное пространство?

Ну тот же вариант что у меня, только растяжку вставляешь между 2 и 3, не вижу проблемы


Название: Re: Волшебные QLabel
Отправлено: ecspertiza от Ноябрь 22, 2010, 17:55
Ну тот же вариант что у меня, только растяжку вставляешь между 2 и 3, не вижу проблемы

Даже если лейбла два, то у меня получается что они прижимаются к левому и правому краю, но при этом не растягиваются на всё свободное пространство, может я конечно где то косячу.


Название: Re: Волшебные QLabel
Отправлено: ufna от Ноябрь 22, 2010, 18:18
А что значит растягиваться на все свободное пространство? Если они прижимаются к краям - то они сжимаются/растягиваются либо пропорционально, либо уходят в минимум по sizeHint'у. Если тебе нужно фиксированное расстояние между ними и при этом "прижимания" - это другой вопрос.

ну или приведи пример в двух картинках что надо "до растяжения" и "после растяжения", а то может я туплю


Название: Re: Волшебные QLabel
Отправлено: ecspertiza от Ноябрь 22, 2010, 22:15
А что значит растягиваться на все свободное пространство? Если они прижимаются к краям - то они сжимаются/растягиваются либо пропорционально, либо уходят в минимум по sizeHint'у. Если тебе нужно фиксированное расстояние между ними и при этом "прижимания" - это другой вопрос.

ну или приведи пример в двух картинках что надо "до растяжения" и "после растяжения", а то может я туплю

Задача стояла такая, на форме допустим лежат 4ре лейбла из которых 2ой и 3ий могут быть очень длинными и при этом если ширина самой формы очень большая то между этими двумя должно быть расстояние(то есть по два прижимаются с каждой стороны). что бы текст грубо не отрубался нужно с этим что то сделать, я попробовал подставлять точки если текста больше чем сам лейбл, но в таком случае нужно правильно рассчитывать ресайз, иначе он входит в рекурсию. Вообщем я нашел неплохое решение, прикладываю его в аттаче вдруг пригодится. 


Название: Re: Волшебные QLabel
Отправлено: ufna от Ноябрь 22, 2010, 22:31
Все равно не догнал почему вариант по вставкой стретча (и назначением стретчей этим двум "делающимися широкими" виджетам) не подходит?


Название: Re: Волшебные QLabel
Отправлено: ecspertiza от Ноябрь 23, 2010, 13:19
Может он и подходит, но у меня с ним ничего не получилось, со вставкой стретча, он по максимум ужимал лейблы и их ширина не менялась вместе с формой, а должна была :)


Название: Re: Волшебные QLabel
Отправлено: ufna от Ноябрь 23, 2010, 13:50
А ты при добавлении лейблам то параметр стретчинга задавал? :)


Название: Re: Волшебные QLabel
Отправлено: ecspertiza от Ноябрь 23, 2010, 13:59
Не помню уже, вроде нет, да теперь уже и неважно, в том примере что скинул вроде кошерно все работает.