Есть у QLabel есть одна особенность. Её минимальный размер определяется текстом, который в неё записан. Это приводит к тому что длинный текст принудительно увеличивает ширину интерфейса.
В большинстве случаев это выглядит плохо.
Как с этим бороться?
🔸 Обрезать текст заранее, задав лимит по длине строки. В этом случае мы теряем часть визуальной информации. Не всегда угадаешь нужный размер. В разных OS шрифт используется разный.
🔸 Делать перенос строки. Тогда мы получим изменение размера в другую сторону, что тоже поломает интерфейс.
🔸 Переопределить paintEvent() и сделать кастомный рендеринг текста. Можно, но слишком сложно для такой задачи.
Проще всего обрезать текст под текущий размер виджета используя класс QFontMetrics.
Он имеет готовый метод elidedText(), который просто вызываем по событию resizeEvent.
Я также добавил установку ToolTip чтобы всегда можно было увидеть полный текст при наведении курсора.
🌎 Код здесь
#qt#source
Undercover - бренд Джуна Такахаши,
одного из ключевых японских дизайнеров.
С ранних лет его окружало авангардное искусство.
Вдохновляясь американской молодёжной культурой, британской рок-сценой, бунтарским духом 80-х, винтажем и наследием массовой культуры, Такахаши создал собственный язык.
От сезона к сезону этот язык меняется: от иронии до серьёзного переосмысления.
#undercover
CHAOS? BALANCE.
Undercover x Eastpak bag collection available in store.
Online: https://beliefmoscow.com/collection/bagsandwallets
#undercover
#beliefmoscow
Черпая вдохновение в британской панк-культуре 1980-х, Джун Такахаши создал клатч Undercover в форме лезвия бритвы.
New Undercover accessories available in store.
#undercover
#beliefmoscow
Клатч Undercover в виде латунного кастета с двумя яблоками, дизайн которого навеян дадаизмом начала ХХ века.
Undercover collection available in store.
#undercover
#beliefmoscow