Russian Qt Forum
Ноябрь 15, 2024, 16:40
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Пользовательский интерфейс (GUI)
>
Волшебные QLabel
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Волшебные QLabel (Прочитано 6041 раз)
ecspertiza
Супер
Offline
Сообщений: 1053
С уважением, мастер конфетного цеха!
Волшебные QLabel
«
:
Ноябрь 19, 2010, 22:26 »
Есть необходимость расположить на виджете два лейбла, с условием растягивать их по максимум возможного, между двумя лейблами должен быть QSpacerItem что бы один лейбл прижимался в правому краю второй к левому. Я накидал пример, он в аттаче, но как не пробовал что то у меня ничего не получается, может была у кого такая ситуация или пример есть.
Записан
ufna
Гость
Re: Волшебные QLabel
«
Ответ #1 :
Ноябрь 20, 2010, 00:16 »
А QHBoxLayout с addStretch(1) между лейблами не канает?
Записан
SimpleSunny
Гость
Re: Волшебные QLabel
«
Ответ #2 :
Ноябрь 20, 2010, 00:51 »
Если правильно понял, то скомпонуйте два лейбла в QHBoxLayout. И потом задайте выравнивание
labelLeft->setAlignment(Qt::AlignLeft);
labelRight->setAlignment(Qt::AlignRight);
Записан
ecspertiza
Супер
Offline
Сообщений: 1053
С уважением, мастер конфетного цеха!
Re: Волшебные QLabel
«
Ответ #3 :
Ноябрь 21, 2010, 11:39 »
Если лейбла только два на форме ,то их можно без проблем скомпоновать в QHBoxLayout ,а если их например 4тыре и должно быть по два с каждой стороны ,а между 2ым и 3ем свободное пространство?
Записан
Marat(Qt)
Гость
Re: Волшебные QLabel
«
Ответ #4 :
Ноябрь 21, 2010, 14:51 »
Вот такой вариант могу предложить.
p.s. не wery, а very.
Записан
ufna
Гость
Re: Волшебные QLabel
«
Ответ #5 :
Ноябрь 22, 2010, 16:41 »
Цитата: ecspertiza от Ноябрь 21, 2010, 11:39
Если лейбла только два на форме ,то их можно без проблем скомпоновать в QHBoxLayout ,а если их например 4тыре и должно быть по два с каждой стороны ,а между 2ым и 3ем свободное пространство?
Ну тот же вариант что у меня, только растяжку вставляешь между 2 и 3, не вижу проблемы
Записан
ecspertiza
Супер
Offline
Сообщений: 1053
С уважением, мастер конфетного цеха!
Re: Волшебные QLabel
«
Ответ #6 :
Ноябрь 22, 2010, 17:55 »
Цитата: ufna от Ноябрь 22, 2010, 16:41
Ну тот же вариант что у меня, только растяжку вставляешь между 2 и 3, не вижу проблемы
Даже если лейбла два, то у меня получается что они прижимаются к левому и правому краю, но при этом не растягиваются на всё свободное пространство, может я конечно где то косячу.
Записан
ufna
Гость
Re: Волшебные QLabel
«
Ответ #7 :
Ноябрь 22, 2010, 18:18 »
А что значит растягиваться на все свободное пространство? Если они прижимаются к краям - то они сжимаются/растягиваются либо пропорционально, либо уходят в минимум по sizeHint'у. Если тебе нужно фиксированное расстояние между ними и при этом "прижимания" - это другой вопрос.
ну или приведи пример в двух картинках что надо "до растяжения" и "после растяжения", а то может я туплю
Записан
ecspertiza
Супер
Offline
Сообщений: 1053
С уважением, мастер конфетного цеха!
Re: Волшебные QLabel
«
Ответ #8 :
Ноябрь 22, 2010, 22:15 »
Цитата: ufna от Ноябрь 22, 2010, 18:18
А что значит растягиваться на все свободное пространство? Если они прижимаются к краям - то они сжимаются/растягиваются либо пропорционально, либо уходят в минимум по sizeHint'у. Если тебе нужно фиксированное расстояние между ними и при этом "прижимания" - это другой вопрос.
ну или приведи пример в двух картинках что надо "до растяжения" и "после растяжения", а то может я туплю
Задача стояла такая, на форме допустим лежат 4ре лейбла из которых 2ой и 3ий могут быть очень длинными и при этом если ширина самой формы очень большая то между этими двумя должно быть расстояние(то есть по два прижимаются с каждой стороны). что бы текст грубо не отрубался нужно с этим что то сделать, я попробовал подставлять точки если текста больше чем сам лейбл, но в таком случае нужно правильно рассчитывать ресайз, иначе он входит в рекурсию. Вообщем я нашел неплохое решение, прикладываю его в аттаче вдруг пригодится.
Записан
ufna
Гость
Re: Волшебные QLabel
«
Ответ #9 :
Ноябрь 22, 2010, 22:31 »
Все равно не догнал почему вариант по вставкой стретча (и назначением стретчей этим двум "делающимися широкими" виджетам) не подходит?
Записан
ecspertiza
Супер
Offline
Сообщений: 1053
С уважением, мастер конфетного цеха!
Re: Волшебные QLabel
«
Ответ #10 :
Ноябрь 23, 2010, 13:19 »
Может он и подходит, но у меня с ним ничего не получилось, со вставкой стретча, он по максимум ужимал лейблы и их ширина не менялась вместе с формой, а должна была
Записан
ufna
Гость
Re: Волшебные QLabel
«
Ответ #11 :
Ноябрь 23, 2010, 13:50 »
А ты при добавлении лейблам то параметр стретчинга задавал?
Записан
ecspertiza
Супер
Offline
Сообщений: 1053
С уважением, мастер конфетного цеха!
Re: Волшебные QLabel
«
Ответ #12 :
Ноябрь 23, 2010, 13:59 »
Не помню уже, вроде нет, да теперь уже и неважно, в том примере что скинул вроде кошерно все работает.
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...