Есть у QLabel есть одна особенность. Её минимальный размер определяется текстом, который в неё записан. Это приводит к тому что длинный текст принудительно увеличивает ширину интерфейса.
В большинстве случаев это выглядит плохо.
Как с этим бороться?
🔸 Обрезать текст заранее, задав лимит по длине строки. В этом случае мы теряем часть визуальной информации. Не всегда угадаешь нужный размер. В разных OS шрифт используется разный.
🔸 Делать перенос строки. Тогда мы получим изменение размера в другую сторону, что тоже поломает интерфейс.
🔸 Переопределить paintEvent() и сделать кастомный рендеринг текста. Можно, но слишком сложно для такой задачи.
Проще всего обрезать текст под текущий размер виджета используя класс QFontMetrics.
Он имеет готовый метод elidedText(), который просто вызываем по событию resizeEvent.
Я также добавил установку ToolTip чтобы всегда можно было увидеть полный текст при наведении курсора.
🌎 Код здесь
#qt#source
A mid-career switch from worldwide travel to the tech and gaming world is unusual but for Nelly Lee, it was one of necessity. Read on to find out how she upskilled to pull it off 💪go.gov.sg/ssg-20240530tg
#SkillsFuture#Lifelonglearning
Searching for a better way to serve the community, Bony found his calling in the healthcare industry 🩺 Discover why Bony made the switch here 👉https://go.gov.sg/ssg-20241003tg1
#SkillsFuture#LifelongLearning#Midcareer
With graduation round the corner, Norazlina is eager to explore her next educational pursuits 🎓 Discover her upskilling journey here ➡️https://go.gov.sg/ssg-20240903tg
#SkillsFuture#LifelongLearning#Midcareer
Are you at a pivotal point in your career? 🤔 Seek guidance through our Skills and Training Advisory to chart the most optimal route forward for your professional journey 👉🏻go.gov.sg/ssg-20240521tg
#SkillsFuture#Lifelonglearning#midcareer