Есть у QLabel есть одна особенность. Её минимальный размер определяется текстом, который в неё записан. Это приводит к тому что длинный текст принудительно увеличивает ширину интерфейса.
В большинстве случаев это выглядит плохо.
Как с этим бороться?
🔸 Обрезать текст заранее, задав лимит по длине строки. В этом случае мы теряем часть визуальной информации. Не всегда угадаешь нужный размер. В разных OS шрифт используется разный.
🔸 Делать перенос строки. Тогда мы получим изменение размера в другую сторону, что тоже поломает интерфейс.
🔸 Переопределить paintEvent() и сделать кастомный рендеринг текста. Можно, но слишком сложно для такой задачи.
Проще всего обрезать текст под текущий размер виджета используя класс QFontMetrics.
Он имеет готовый метод elidedText(), который просто вызываем по событию resizeEvent.
Я также добавил установку ToolTip чтобы всегда можно было увидеть полный текст при наведении курсора.
🌎 Код здесь
#qt#source
Matter exists in different states:
● Solid – fixed shape and volume, particles tightly packed.
● Liquid – fixed volume, no fixed shape, particles slide past each other.
● Gas – no fixed shape or volume, particles far apart.
● Plasma – like gas but particles are charged.
● Glass – between solid and liquid, amorphous.
● Superfluid – liquid with no resistance near absolute zero.
● Bose-Einstein Condensate – particles act as one quantum entity.
● Fermionic Condensate – similar to Bose-Einstein but formed by fermions.
● Dropleton – quantum liquid of electrons and holes.
● Degenerate Matter – exists under extreme pressure inside stars or planets.
Matter changes state when energy is added or removed.
[Source]
https://t.me/googlefactss
@googlefactss🔬🌡️#Science#Matter#Physics#Education