Есть у QLabel есть одна особенность. Её минимальный размер определяется текстом, который в неё записан. Это приводит к тому что длинный текст принудительно увеличивает ширину интерфейса.
В большинстве случаев это выглядит плохо.
Как с этим бороться?
🔸 Обрезать текст заранее, задав лимит по длине строки. В этом случае мы теряем часть визуальной информации. Не всегда угадаешь нужный размер. В разных OS шрифт используется разный.
🔸 Делать перенос строки. Тогда мы получим изменение размера в другую сторону, что тоже поломает интерфейс.
🔸 Переопределить paintEvent() и сделать кастомный рендеринг текста. Можно, но слишком сложно для такой задачи.
Проще всего обрезать текст под текущий размер виджета используя класс QFontMetrics.
Он имеет готовый метод elidedText(), который просто вызываем по событию resizeEvent.
Я также добавил установку ToolTip чтобы всегда можно было увидеть полный текст при наведении курсора.
🌎 Код здесь
#qt#source
《原神》第二张挪德卡莱篇OST《朔望凝待之庭》现已正式上线
亲爱的旅行者,《原神》第二张挪德卡莱篇OST《朔望凝待之庭 Where Roads Are Pledged to Cross》现已正式上线。
欢迎旅行者前往下列平台,收听完整版OST。
>>>点击前往QQ音乐收听<<<
>>>点击前往酷狗音乐收听<<<
>>>点击前往Apple Music收听<<<
专辑分为《霜尽春归 Nordic Spring》、《早至的黎明 Tidig Gryning》与《未亡者的悼亡 Requiem for the Living》3张分碟,共收录73首由HOYO-MiX音乐团队为《原神》挪德卡莱地区创作的原声音乐。
source@YuanShen#OST
С раннего возраста безумно люблю академический (да и не только) авангард, потому саундтрек «Битвы за битвой» в моем плейлисте со дня премьеры. Невероятная динамика. Очень надеюсь на Оскар для композитора.
#ost