Название: Волшебные 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 Не помню уже, вроде нет, да теперь уже и неважно, в том примере что скинул вроде кошерно все работает.
|