Есть у QLabel есть одна особенность. Её минимальный размер определяется текстом, который в неё записан. Это приводит к тому что длинный текст принудительно увеличивает ширину интерфейса.
В большинстве случаев это выглядит плохо.
Как с этим бороться?
🔸 Обрезать текст заранее, задав лимит по длине строки. В этом случае мы теряем часть визуальной информации. Не всегда угадаешь нужный размер. В разных OS шрифт используется разный.
🔸 Делать перенос строки. Тогда мы получим изменение размера в другую сторону, что тоже поломает интерфейс.
🔸 Переопределить paintEvent() и сделать кастомный рендеринг текста. Можно, но слишком сложно для такой задачи.
Проще всего обрезать текст под текущий размер виджета используя класс QFontMetrics.
Он имеет готовый метод elidedText(), который просто вызываем по событию resizeEvent.
Я также добавил установку ToolTip чтобы всегда можно было увидеть полный текст при наведении курсора.
🌎 Код здесь
#qt#source
🔥 The Second Semifinal: It will be difficult to choose 🔥
🐉 Haku: Can his wisdom (and maybe a good dentist) defeat "Toothless"? Or will he "Spirited away"?
🐲 Toothless: If he doesn’t bite Haku, his overwhelming cuteness might just win this battle.
The final boss is waiting—a massive Smaug who fears hobbits and shiny gold rings. Who will take him on?
Vote bellow!
#DragonsCall#TrueLabGames
🔥1 week after Dragon's Call release and we got:
👾70,000players played
😮x1268max win
In celebration of this we redesign game cover in different art styles🎨, try to guess what those styles are!
#dragonscall#truelab#slots
Our new column - Panda news from Dragon's Call📰
Today we discuss Colombia's tax hike in gambling💔
What do you think of this format?🐼
#news#pandanews#slots#dragonscall