Есть у QLabel есть одна особенность. Её минимальный размер определяется текстом, который в неё записан. Это приводит к тому что длинный текст принудительно увеличивает ширину интерфейса.
В большинстве случаев это выглядит плохо.
Как с этим бороться?
🔸 Обрезать текст заранее, задав лимит по длине строки. В этом случае мы теряем часть визуальной информации. Не всегда угадаешь нужный размер. В разных OS шрифт используется разный.
🔸 Делать перенос строки. Тогда мы получим изменение размера в другую сторону, что тоже поломает интерфейс.
🔸 Переопределить paintEvent() и сделать кастомный рендеринг текста. Можно, но слишком сложно для такой задачи.
Проще всего обрезать текст под текущий размер виджета используя класс QFontMetrics.
Он имеет готовый метод elidedText(), который просто вызываем по событию resizeEvent.
Я также добавил установку ToolTip чтобы всегда можно было увидеть полный текст при наведении курсора.
🌎 Код здесь
#qt#source
台服本周更新,懷舊系列活動開跑,包含 SR 限定 GP 賽、懷舊道具箱以及 SR 卡丁車卡片,另外還有 beanfun APP「跑跑小學堂」活動推出 🎓
🔥 台服 8/5 更新詳情:https://kinf.cc/qH3A6
🎯 SR 卡丁車卡片獎勵表:https://kinf.cc/kN4Vr
▶️ 追蹤 Google 新聞:https://kinf.cc/gn
▶️ 立即加入 Discord:https://kinf.cc/dc
#跑跑卡丁車#KartRider#beanfun#app#跑跑#小學堂#原型摩托車V1#懷舊#SR#卡丁車#自選#卡片#ShowTime#GP賽#GrandPrix#傳說零件V1#LUCCI#跑跑通行證#通行證#雷霆V1#衝浪板V1#迷你遊戲#迷你釣魚#釣魚#稀有零件V1#酷涼寶箱#登入獎勵