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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Центровка в лайоуте  (Прочитано 3298 раз)
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« : Апрель 23, 2014, 08:54 »

Добрый день

См аттач. Создаю QVBoxLayout и в него добавляю полосу индикатора + нижнюю панельку. Для нее создаю QHBoxLayout и добавляю 3 QLabel.

Как сделать так чтобы средняя "KBytes" встала по центру полосы (без утомительного вычисления подкладок)?

Спасибо
Записан
Old
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4350



Просмотр профиля
« Ответ #1 : Апрель 23, 2014, 09:07 »

Я бы на нижней панели крайним QLabel задал бы фиксированный одинаковый размер по горизонтале.
Записан
sergek
Гипер активный житель
*****
Online Online

Сообщений: 872


Мы должны приносить пользу людям.


Просмотр профиля
« Ответ #2 : Апрель 23, 2014, 09:33 »

А если три лейбла скомпоновать по горизонтали с разделителями?
Записан

Qt 5.13.0 Qt Creator 5.0.1
Win10, Ubuntu 20.04
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #3 : Апрель 23, 2014, 10:00 »

Я бы на нижней панели крайним QLabel задал бы фиксированный одинаковый размер по горизонтале.
Средний текст может быть длинным (напр задается плагином), тогда он обрежется - хотя место для него было. Впрочем лучшего варианта я пока не вижу

А если три лейбла скомпоновать по горизонтали с разделителями?
Так левый текст все время меняется (индикатор ползет).
Записан
sergek
Гипер активный житель
*****
Online Online

Сообщений: 872


Мы должны приносить пользу людям.


Просмотр профиля
« Ответ #4 : Апрель 23, 2014, 10:39 »

Так левый текст все время меняется (индикатор ползет).
Пусть себе ползет и меняется.
Записан

Qt 5.13.0 Qt Creator 5.0.1
Win10, Ubuntu 20.04
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #5 : Апрель 23, 2014, 11:58 »

Пусть себе ползет и меняется.
Лихо, до такого я не додумался! Сделал так: когда правый текст устанавливается, вычисляю его ширину и фиксирую для левого и правого лаблов. Не общее решение.

Еще одна проблема: диалог не должен сайзиться по горизонтали, напр если верхний текст слишком велик - показывать его elided. Я по-простому вычислил размер, отняв от (фиксированной) ширины диалога заступы лайаутов. А как это сделать более элегантно?

Спасибо
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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