Есть у QLabel есть одна особенность. Её минимальный размер определяется текстом, который в неё записан. Это приводит к тому что длинный текст принудительно увеличивает ширину интерфейса.
В большинстве случаев это выглядит плохо.
Как с этим бороться?
🔸 Обрезать текст заранее, задав лимит по длине строки. В этом случае мы теряем часть визуальной информации. Не всегда угадаешь нужный размер. В разных OS шрифт используется разный.
🔸 Делать перенос строки. Тогда мы получим изменение размера в другую сторону, что тоже поломает интерфейс.
🔸 Переопределить paintEvent() и сделать кастомный рендеринг текста. Можно, но слишком сложно для такой задачи.
Проще всего обрезать текст под текущий размер виджета используя класс QFontMetrics.
Он имеет готовый метод elidedText(), который просто вызываем по событию resizeEvent.
Я также добавил установку ToolTip чтобы всегда можно было увидеть полный текст при наведении курсора.
🌎 Код здесь
#qt#source
Do you know how many silver spheres are on the facade of the Hanjie Wanda Square in Wuhan, China?
42,333.
While they all may look identical, their specific positions involving each other recreate the effect of movement and reflection in water or the sensuous folds of silk fabric.
Photos: Edmon Leong / UNStudio
#unstudio#facades#facadedesign#architecture#retaildesign#lightingdesign#arch_shovel
The collaboration and friendship of Steven Holl and Lobservatoire international.
1. Nancy and Rich Kinder Museum Building - Museum of Fine Arts Houston (2020)
2. Cofco Cultural and Health Center (2021)
3. Institute for Contemporary Art, Virginia Commonwealth University (2018)
4. The Reach, Kennedy Center (2019)
5. CIFI Beijing (2022)
6. Hunters Point Library (2019)
#stevenhollarchitects#architecture#architect#light#lighting#lightingdesign#lobservatoireinternational#arch_shovel