Есть у QLabel есть одна особенность. Её минимальный размер определяется текстом, который в неё записан. Это приводит к тому что длинный текст принудительно увеличивает ширину интерфейса.
В большинстве случаев это выглядит плохо.
Как с этим бороться?
🔸 Обрезать текст заранее, задав лимит по длине строки. В этом случае мы теряем часть визуальной информации. Не всегда угадаешь нужный размер. В разных OS шрифт используется разный.
🔸 Делать перенос строки. Тогда мы получим изменение размера в другую сторону, что тоже поломает интерфейс.
🔸 Переопределить paintEvent() и сделать кастомный рендеринг текста. Можно, но слишком сложно для такой задачи.
Проще всего обрезать текст под текущий размер виджета используя класс QFontMetrics.
Он имеет готовый метод elidedText(), который просто вызываем по событию resizeEvent.
Я также добавил установку ToolTip чтобы всегда можно было увидеть полный текст при наведении курсора.
🌎 Код здесь
#qt#source
Universal Children's Day is observed every November 20th. Established by the United Nations, this day promotes international togetherness and awareness among children worldwide, and improves children's welfare. It's a time to advocate for children's rights and a better future for every child. 👧🧒🌍💙
[Source]
@googlefactss
#UniversalChildrensDay#ChildWelfare#ChildrensRights
Child marriage remains legal in 34 U.S. states, with some setting no minimum age. Over 314,000 minors were married in the last two decades, mostly girls to adult men. Efforts to ban it face ongoing political resistance. 🚨👧💍
The highest rates of child marriage in the United States are found in Texas, Florida, Kentucky, North Carolina and Alabama.
[Read more]
@googlefactss
#ChildMarriage#HumanRights#USLaw#GenderEquality#SocialJustice#ChildrensRights