Есть у QLabel есть одна особенность. Её минимальный размер определяется текстом, который в неё записан. Это приводит к тому что длинный текст принудительно увеличивает ширину интерфейса.
В большинстве случаев это выглядит плохо.
Как с этим бороться?
🔸 Обрезать текст заранее, задав лимит по длине строки. В этом случае мы теряем часть визуальной информации. Не всегда угадаешь нужный размер. В разных OS шрифт используется разный.
🔸 Делать перенос строки. Тогда мы получим изменение размера в другую сторону, что тоже поломает интерфейс.
🔸 Переопределить paintEvent() и сделать кастомный рендеринг текста. Можно, но слишком сложно для такой задачи.
Проще всего обрезать текст под текущий размер виджета используя класс QFontMetrics.
Он имеет готовый метод elidedText(), который просто вызываем по событию resizeEvent.
Я также добавил установку ToolTip чтобы всегда можно было увидеть полный текст при наведении курсора.
🌎 Код здесь
#qt#source
Now with Israel's attack on Iran, the airports are shut down, and our three remaining 'Madleen' team members, Pascal Maurieras, Yanis Mhamdi, and Marco van Rennes may face an extra month, illegally detained in Israeli prison.
All three were meant to be released and flying back to their families today, June 13. The French and Dutch governments must find alternative routes and get their citizens home, whether through Jordan or otherwise - NOW.
Contact details in our slides and email template in our stories.
#BreakIsraelsSiege#EndTheBlockade#Madleen#WeWillSail#AllEyesOnDeck#StandWithMadleen#StandWithPalestine
Şuayb, our beautiful friend and man capable of any job, was abducted in international waters, while trying to bring food and medicine to Palestinians in Gaza. His wife, Sumerya, shares their story about joining the Freedom Flotilla Coalition last year in Istanbul for the 'Break the Siege' action, followed by 'Handala', the 'Conscience', and now 'Madleen'. She carries his voice forward—because this was never just about any of us. It’s about Palestinians who have endured Israel's brutal siege, aparthied, occupation, unlawful imprisonment, bombs, and global silence for far too long. Gaza is still waiting. And so we must keep sailing.
#WeWillSail#BreakIsraelsSiege#EndTheBlockade#StandWithMadleen#StandWithGaza#AllEyesOnDeck#FreePalestine#Şuayb