Есть у QLabel есть одна особенность. Её минимальный размер определяется текстом, который в неё записан. Это приводит к тому что длинный текст принудительно увеличивает ширину интерфейса.
В большинстве случаев это выглядит плохо.
Как с этим бороться?
🔸 Обрезать текст заранее, задав лимит по длине строки. В этом случае мы теряем часть визуальной информации. Не всегда угадаешь нужный размер. В разных OS шрифт используется разный.
🔸 Делать перенос строки. Тогда мы получим изменение размера в другую сторону, что тоже поломает интерфейс.
🔸 Переопределить paintEvent() и сделать кастомный рендеринг текста. Можно, но слишком сложно для такой задачи.
Проще всего обрезать текст под текущий размер виджета используя класс QFontMetrics.
Он имеет готовый метод elidedText(), который просто вызываем по событию resizeEvent.
Я также добавил установку ToolTip чтобы всегда можно было увидеть полный текст при наведении курсора.
🌎 Код здесь
#qt#source
Восьмой зин издательства GRADE "КИОСК" — это проект самарского фотографа Дмитрия Птицына.
В 2020 году Дмитрий устроился на работу в привокзальный газетный киоск, где замаскировал пленочную камеру в старую коробку из под телевизора и фотографировал случайных посетителей, а также запечатлевал жизнь вокруг самого киоска. Используя черно-белую пленку в качестве медиума, фотограф не только подчеркнул аналоговую природу происхождения печатной продукции, но и придал своим сюжетам ощущение безвременья.
Новая коллекция GRADE доступна онлайн в нашем интернет-магазине: https://beliefmoscow.com/collection/grade
#grademoscow
#beliefmoscow
New brand in store: GRADE
GRADE – творческое объединение из Москвы, основанное в 2017 году. Оно включает в себя интернет-журнал о локальной и зарубежной культуре, издательство, а также линию одежды и аксессуаров. Регулярно привлекая героев своих статей к совместным работам, команда GRADE представляет уникальные вещи, созданные с учётом специфики творчества и сферы деятельности того или иного художника.
Коллекция GRADE доступна онлайн в нашем интернет-магазине: https://beliefmoscow.com/collection/grade
#grademoscow
#beliefmoscow