Есть у QLabel есть одна особенность. Её минимальный размер определяется текстом, который в неё записан. Это приводит к тому что длинный текст принудительно увеличивает ширину интерфейса.
В большинстве случаев это выглядит плохо.
Как с этим бороться?
🔸 Обрезать текст заранее, задав лимит по длине строки. В этом случае мы теряем часть визуальной информации. Не всегда угадаешь нужный размер. В разных OS шрифт используется разный.
🔸 Делать перенос строки. Тогда мы получим изменение размера в другую сторону, что тоже поломает интерфейс.
🔸 Переопределить paintEvent() и сделать кастомный рендеринг текста. Можно, но слишком сложно для такой задачи.
Проще всего обрезать текст под текущий размер виджета используя класс QFontMetrics.
Он имеет готовый метод elidedText(), который просто вызываем по событию resizeEvent.
Я также добавил установку ToolTip чтобы всегда можно было увидеть полный текст при наведении курсора.
🌎 Код здесь
#qt#source
Let's come forward with #JanBhagidari to clean our water bodies and raise awareness about the cleanliness of them🏖️🌊
Take the Puneet Sankalp Pledge to tackle the issue of plastic pollution for a better tomorrow!
Visit: https://pledge.mygov.in/puneet-sankalp/
Your opinion can help us build a #NewIndia of our dreams. Tell us your ideas for Union Budget 2023-24 and join the good governance of #JanBhagidari
Visit: https://www.mygov.in/group-issue/inviting-ideas-and-suggestions-union-budget-2023-2024/
#JanBhagidari के जरिए राष्ट्रीय पोषण मिशन अब एक #JanAndolan बन गया है। इससे महिलाओं, गर्भवती और दूध पिलाने वाली माताओं, बच्चों और किशोरों की पोषण स्थिति में तेजी से सुधार देश की भावी पीढ़ी को सुरक्षित कर रहा है। #PoshanAbhiyaan2023
https://youtu.be/FKkEDtQ15tc
Rashtriya Poshan Mission now becoming a #JanAndolan with the help of #JanBhagidari
It is improving the nutritional status of women, pregnant and lactating mothers, children and adolescents. The moment is securing the future generation of India.
#PoshanAbhiyaan2023
https://youtu.be/FKkEDtQ15tc