Есть у QLabel есть одна особенность. Её минимальный размер определяется текстом, который в неё записан. Это приводит к тому что длинный текст принудительно увеличивает ширину интерфейса.
В большинстве случаев это выглядит плохо.
Как с этим бороться?
🔸 Обрезать текст заранее, задав лимит по длине строки. В этом случае мы теряем часть визуальной информации. Не всегда угадаешь нужный размер. В разных OS шрифт используется разный.
🔸 Делать перенос строки. Тогда мы получим изменение размера в другую сторону, что тоже поломает интерфейс.
🔸 Переопределить paintEvent() и сделать кастомный рендеринг текста. Можно, но слишком сложно для такой задачи.
Проще всего обрезать текст под текущий размер виджета используя класс QFontMetrics.
Он имеет готовый метод elidedText(), который просто вызываем по событию resizeEvent.
Я также добавил установку ToolTip чтобы всегда можно было увидеть полный текст при наведении курсора.
🌎 Код здесь
#qt#source
Palestinians in Gaza are being starved, denied aid, genocided- and this is all on live stream and on our watch. A statement from Yasemin Acar, FFC volunteer on ‘Madleen’ who was kidnapped by IOF, forcibly taken to Israel and currently being held in detention is delivered by her brother J. Acar. This is the real story.
#FreeGaza#BreakTheSiege
#Madleen#EndTheGenocide
I rarely use the word "hero" for individuals, as I believe true heroism often lies in collective acts—like the unwavering spirit of the people of Gaza. But the justice and solidarity activists on the Gaza Freedom Flotilla, Madleen are undeniably heroes. They embody both individual courage and a global shift towards solidarity with Palestine, standing against the Israeli genocide in Gaza.
Thank you to everyone on the Flotilla and to all who supported their valiant efforts.
#GazaFreedomFlotilla#FreePalestine#StandWithGaza#EndTheGenocide#GazaGenocide#Gaza