Есть у QLabel есть одна особенность. Её минимальный размер определяется текстом, который в неё записан. Это приводит к тому что длинный текст принудительно увеличивает ширину интерфейса.
В большинстве случаев это выглядит плохо.
Как с этим бороться?
🔸 Обрезать текст заранее, задав лимит по длине строки. В этом случае мы теряем часть визуальной информации. Не всегда угадаешь нужный размер. В разных OS шрифт используется разный.
🔸 Делать перенос строки. Тогда мы получим изменение размера в другую сторону, что тоже поломает интерфейс.
🔸 Переопределить paintEvent() и сделать кастомный рендеринг текста. Можно, но слишком сложно для такой задачи.
Проще всего обрезать текст под текущий размер виджета используя класс QFontMetrics.
Он имеет готовый метод elidedText(), который просто вызываем по событию resizeEvent.
Я также добавил установку ToolTip чтобы всегда можно было увидеть полный текст при наведении курсора.
🌎 Код здесь
#qt#source
Tradfin: *CHINA WILL 'ADDRESS' U.S. CONCERNS REGARDING SUPPLY CHAIN SHORTAGES RELATED TO RARE EARTHS AND OTHER CRITICAL MINERALS: WH FACT SHEET
#MP • #USAR
Tradfin: *中国将“解决”美国对稀土及其他关键矿产供应链短缺的担忧:白宫情况说明书
————————————
2026-05-18 01:18:21
Tradfin: *US TRADE REPRESENTATIVE GREER: PREPARING TEXT FOR 'PLURI-LATERAL' AGREEMENT WITH A 'SELECT GROUP' ON CRITICAL MINERALS, INCLUDING A PRICE FLOOR
#MP • #USAR
Tradfin: 美国贸易代表格里尔:正在准备与“特定国家集团”就关键矿产达成“多边”协议文本,其中包括价格下限。
————————————
2026-04-17 01:20:53