Есть у QLabel есть одна особенность. Её минимальный размер определяется текстом, который в неё записан. Это приводит к тому что длинный текст принудительно увеличивает ширину интерфейса.
В большинстве случаев это выглядит плохо.
Как с этим бороться?
🔸 Обрезать текст заранее, задав лимит по длине строки. В этом случае мы теряем часть визуальной информации. Не всегда угадаешь нужный размер. В разных OS шрифт используется разный.
🔸 Делать перенос строки. Тогда мы получим изменение размера в другую сторону, что тоже поломает интерфейс.
🔸 Переопределить paintEvent() и сделать кастомный рендеринг текста. Можно, но слишком сложно для такой задачи.
Проще всего обрезать текст под текущий размер виджета используя класс QFontMetrics.
Он имеет готовый метод elidedText(), который просто вызываем по событию resizeEvent.
Я также добавил установку ToolTip чтобы всегда можно было увидеть полный текст при наведении курсора.
🌎 Код здесь
#qt#source
The largest dinosaur eggs of Hypselosaurus priscus measured about 30 cm long with a capacity of 3.3 liters. Ostrich eggs are about 15-18 cm long, holding around 1.4 liters. Emu eggs are about 12-13 cm long, with a capacity of approximately 1.2 liters. Dinosaur eggs were about twice as big as ostrich eggs.
🦕🥚🍳
[Read more]
@googlefactss
#Dinosaurs#Eggs#Birds#Facts
«Последняя демонстрация динозавров-вегетарианцев за минуту до вымирания», digital art by Doping Pong, 2018-2024
Этот скетч был сделан в 2018 году, когда арт-группа Doping Pong сотрудничала с компанией Vibеr над креативными разработками вошедших в моду стикерпаков для мессенджера. Так появились эти три персонажа, травоядные динозавры: Диплодок, Стегозавр и Трицератопс.
Дальше эскиза дело не пошло, но сейчас, во время мировых катаклизмов, захотелось его вспомнить.
Этот месседж динозавров-вегетарианцев, адресованный плотоядным братьям и сестрам, актуален как никогда.
#dopingpong#динозавры#вегетарианцы#последняя#демонстрация
#dinosaurs#vegetarians#last#demonstration#givepeaceachance