Есть у QLabel есть одна особенность. Её минимальный размер определяется текстом, который в неё записан. Это приводит к тому что длинный текст принудительно увеличивает ширину интерфейса.
В большинстве случаев это выглядит плохо.
Как с этим бороться?
🔸 Обрезать текст заранее, задав лимит по длине строки. В этом случае мы теряем часть визуальной информации. Не всегда угадаешь нужный размер. В разных OS шрифт используется разный.
🔸 Делать перенос строки. Тогда мы получим изменение размера в другую сторону, что тоже поломает интерфейс.
🔸 Переопределить paintEvent() и сделать кастомный рендеринг текста. Можно, но слишком сложно для такой задачи.
Проще всего обрезать текст под текущий размер виджета используя класс QFontMetrics.
Он имеет готовый метод elidedText(), который просто вызываем по событию resizeEvent.
Я также добавил установку ToolTip чтобы всегда можно было увидеть полный текст при наведении курсора.
🌎 Код здесь
#qt#source
In 46 BC, Julius Caesar added 90 extra days to the year, making it 445 days long. This was done to fix the calendar’s drift from the solar year. The previous calendar was out of sync with the seasons. Caesar introduced the Julian calendar, which included leap years every four years to keep the calendar aligned with the sun.
📅🔧
[Read more]
@googlefactss
#History#Calendar#LeapYear
🌍 Earth takes about 365.25 days to orbit the Sun, so every four years we add a leap day to our calendar to keep time in sync with the planet’s journey around its star. ✨
#solar⚡#orbit⚡#leapyear⚡#astronomy⚡#geography⚡#nature⚡#earth
👉subscribe Amazing Geography🌍