Есть у QLabel есть одна особенность. Её минимальный размер определяется текстом, который в неё записан. Это приводит к тому что длинный текст принудительно увеличивает ширину интерфейса.
В большинстве случаев это выглядит плохо.
Как с этим бороться?
🔸 Обрезать текст заранее, задав лимит по длине строки. В этом случае мы теряем часть визуальной информации. Не всегда угадаешь нужный размер. В разных OS шрифт используется разный.
🔸 Делать перенос строки. Тогда мы получим изменение размера в другую сторону, что тоже поломает интерфейс.
🔸 Переопределить paintEvent() и сделать кастомный рендеринг текста. Можно, но слишком сложно для такой задачи.
Проще всего обрезать текст под текущий размер виджета используя класс QFontMetrics.
Он имеет готовый метод elidedText(), который просто вызываем по событию resizeEvent.
Я также добавил установку ToolTip чтобы всегда можно было увидеть полный текст при наведении курсора.
🌎 Код здесь
#qt#source
🇬🇧🇮🇷 Des milliers de personnes ont défilé samedi à Londres pour protester contre l'offensive militaire menée par les États-Unis et Israël contre l'Iran.
Un cortège de deux kilomètres, parti de la tour Millbank à Westminster, a traversé la capitale britannique avant de se rassembler devant l'ambassade des États-Unis, a constaté un correspondant de TASS.
#royaumeuni#manifestations#iran
🇮🇱 Les forces de l’ordre ont dispersé des manifestations anti-guerre en Israël. En conséquence, 18 personnes ont été interpellées, a signalé le service de presse de la police israélienne.
#israël#police#manifestations
🇩🇪 Plus de 366.000 personnes ont participé aux manifestations du 1er mai en Allemagne, a annoncé la Confédération allemande des syndicats (DGB).
Sous la devise "D'abord nos emplois, ensuite vos profits", 366.710 personnes ont pris part le 1er mai à un total de 413 événements et rassemblements organisés par la Confédération allemande des syndicats,
indique le communiqué.
#allemagne#fête#manifestations
🇬🇧🇮🇷 Des manifestations de plusieurs milliers de personnes contre l’extrême droite et la guerre en Iran ont lieu à Londres
#manifestations#guerre#londres
🇵🇰🇮🇷Des manifestants opposés aux actions des États-Unis envers l’Iran ont tenté de pénétrer dans le consulat américain à Lahore, au Pakistan, a rapporté le journal Dawn.
#pakistan#lahore#manifestations
🇳🇱 Aux Pays-Bas, des manifestations contre le déploiement d'un camp de réfugiés ont lieu pour le quatrième jour consécutif, la police a interpellé treize personnes, rapporte le journal Algemeen Dagblad.
Vidéo: HEAD-POST/Х
#paysbas#manifestations#réfugiés