Russian Qt Forum
Ноябрь 15, 2024, 13:46 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Волшебные QLabel  (Прочитано 6036 раз)
ecspertiza
Супер
******
Offline Offline

Сообщений: 1053


С уважением, мастер конфетного цеха!


Просмотр профиля
« : Ноябрь 19, 2010, 22:26 »

Есть необходимость расположить на виджете два лейбла, с условием растягивать их по максимум возможного, между двумя лейблами должен быть QSpacerItem что бы один лейбл прижимался в правому краю второй к левому. Я накидал пример, он в аттаче, но как не пробовал что то у меня ничего не получается, может была у кого такая ситуация или пример есть.
Записан
ufna
Гость
« Ответ #1 : Ноябрь 20, 2010, 00:16 »

А QHBoxLayout с addStretch(1) между лейблами не канает?
Записан
SimpleSunny
Гость
« Ответ #2 : Ноябрь 20, 2010, 00:51 »

Если правильно понял, то скомпонуйте два лейбла в QHBoxLayout. И потом задайте выравнивание
labelLeft->setAlignment(Qt::AlignLeft);
labelRight->setAlignment(Qt::AlignRight);
Записан
ecspertiza
Супер
******
Offline Offline

Сообщений: 1053


С уважением, мастер конфетного цеха!


Просмотр профиля
« Ответ #3 : Ноябрь 21, 2010, 11:39 »

Если лейбла только два на форме ,то их можно без проблем скомпоновать в QHBoxLayout ,а если их например 4тыре и должно быть по два с каждой стороны ,а между 2ым и 3ем свободное пространство?
Записан
Marat(Qt)
Гость
« Ответ #4 : Ноябрь 21, 2010, 14:51 »

Вот такой вариант могу предложить.

p.s. не wery, а very.
Записан
ufna
Гость
« Ответ #5 : Ноябрь 22, 2010, 16:41 »

Если лейбла только два на форме ,то их можно без проблем скомпоновать в QHBoxLayout ,а если их например 4тыре и должно быть по два с каждой стороны ,а между 2ым и 3ем свободное пространство?

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

Сообщений: 1053


С уважением, мастер конфетного цеха!


Просмотр профиля
« Ответ #6 : Ноябрь 22, 2010, 17:55 »

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

Даже если лейбла два, то у меня получается что они прижимаются к левому и правому краю, но при этом не растягиваются на всё свободное пространство, может я конечно где то косячу.
Записан
ufna
Гость
« Ответ #7 : Ноябрь 22, 2010, 18:18 »

А что значит растягиваться на все свободное пространство? Если они прижимаются к краям - то они сжимаются/растягиваются либо пропорционально, либо уходят в минимум по sizeHint'у. Если тебе нужно фиксированное расстояние между ними и при этом "прижимания" - это другой вопрос.

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

Сообщений: 1053


С уважением, мастер конфетного цеха!


Просмотр профиля
« Ответ #8 : Ноябрь 22, 2010, 22:15 »

А что значит растягиваться на все свободное пространство? Если они прижимаются к краям - то они сжимаются/растягиваются либо пропорционально, либо уходят в минимум по sizeHint'у. Если тебе нужно фиксированное расстояние между ними и при этом "прижимания" - это другой вопрос.

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

Задача стояла такая, на форме допустим лежат 4ре лейбла из которых 2ой и 3ий могут быть очень длинными и при этом если ширина самой формы очень большая то между этими двумя должно быть расстояние(то есть по два прижимаются с каждой стороны). что бы текст грубо не отрубался нужно с этим что то сделать, я попробовал подставлять точки если текста больше чем сам лейбл, но в таком случае нужно правильно рассчитывать ресайз, иначе он входит в рекурсию. Вообщем я нашел неплохое решение, прикладываю его в аттаче вдруг пригодится. 
Записан
ufna
Гость
« Ответ #9 : Ноябрь 22, 2010, 22:31 »

Все равно не догнал почему вариант по вставкой стретча (и назначением стретчей этим двум "делающимися широкими" виджетам) не подходит?
Записан
ecspertiza
Супер
******
Offline Offline

Сообщений: 1053


С уважением, мастер конфетного цеха!


Просмотр профиля
« Ответ #10 : Ноябрь 23, 2010, 13:19 »

Может он и подходит, но у меня с ним ничего не получилось, со вставкой стретча, он по максимум ужимал лейблы и их ширина не менялась вместе с формой, а должна была Улыбающийся
Записан
ufna
Гость
« Ответ #11 : Ноябрь 23, 2010, 13:50 »

А ты при добавлении лейблам то параметр стретчинга задавал? Улыбающийся
Записан
ecspertiza
Супер
******
Offline Offline

Сообщений: 1053


С уважением, мастер конфетного цеха!


Просмотр профиля
« Ответ #12 : Ноябрь 23, 2010, 13:59 »

Не помню уже, вроде нет, да теперь уже и неважно, в том примере что скинул вроде кошерно все работает.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.105 секунд. Запросов: 23.