Есть у QLabel есть одна особенность. Её минимальный размер определяется текстом, который в неё записан. Это приводит к тому что длинный текст принудительно увеличивает ширину интерфейса.
В большинстве случаев это выглядит плохо.
Как с этим бороться?
🔸 Обрезать текст заранее, задав лимит по длине строки. В этом случае мы теряем часть визуальной информации. Не всегда угадаешь нужный размер. В разных OS шрифт используется разный.
🔸 Делать перенос строки. Тогда мы получим изменение размера в другую сторону, что тоже поломает интерфейс.
🔸 Переопределить paintEvent() и сделать кастомный рендеринг текста. Можно, но слишком сложно для такой задачи.
Проще всего обрезать текст под текущий размер виджета используя класс QFontMetrics.
Он имеет готовый метод elidedText(), который просто вызываем по событию resizeEvent.
Я также добавил установку ToolTip чтобы всегда можно было увидеть полный текст при наведении курсора.
🌎 Код здесь
#qt#source
🌳 Hidden Forest & Monkey Kingdom near Durban 🐵
Explore the Hidden Forest Sanctuary in Ballito, where primates roam free in a lush natural haven! Just 40 km (25 mi) north of Durban in KwaZulu-Natal, this gem opened in 2019 and is a must-visit for wildlife lovers.
📍 Ballito, South Africa
🎥 Video: https://www.youtube.com/watch?v=Nfo7xp5YtBE&list=PL6fK0Yu-8iyQTFxtSn5GlKM65_ACMniU3&index=1
#Nature#Monkeys#Travel#SouthAfrica
🌎 In the lush forests of Borneo, the proboscis monkey sports a huge, pendulous nose. This unique feature helps males amplify their calls and attract mates, making it one of nature’s most unusual adaptations for communication. ✨
#borneo⚡#monkeys⚡#evolution
👉subscribe Interesting Planet