Есть у QLabel есть одна особенность. Её минимальный размер определяется текстом, который в неё записан. Это приводит к тому что длинный текст принудительно увеличивает ширину интерфейса.
В большинстве случаев это выглядит плохо.
Как с этим бороться?
🔸 Обрезать текст заранее, задав лимит по длине строки. В этом случае мы теряем часть визуальной информации. Не всегда угадаешь нужный размер. В разных OS шрифт используется разный.
🔸 Делать перенос строки. Тогда мы получим изменение размера в другую сторону, что тоже поломает интерфейс.
🔸 Переопределить paintEvent() и сделать кастомный рендеринг текста. Можно, но слишком сложно для такой задачи.
Проще всего обрезать текст под текущий размер виджета используя класс QFontMetrics.
Он имеет готовый метод elidedText(), который просто вызываем по событию resizeEvent.
Я также добавил установку ToolTip чтобы всегда можно было увидеть полный текст при наведении курсора.
🌎 Код здесь
#qt#source
Post #IV: “Ieri Calenda ha proposto un Documento. Abbiamo replicato con queste piccole modifiche, semplicissime. Chi vuole distruggere il progetto del #TerzoPolo lo dica a viso aperto. Noi siamo pronti a firmare l’accordo. #Azione?”
@UltimoraPolitics
Non perdonerò mai a Calenda di aver salvato Renzi e i suoi dal miglio verde: senza il suo aiuto, con ogni probabilità, avrebbero fatto la fine che meritavano, quella di Luigi Di Maio.
Calenda scopre adesso di che panni veste Matteo Renzi? Lo spettacolo a cui stiamo assistendo è divertente da un lato, terribilmente imbarazzante dall'altro.
La mia al TG Plus di Cusano Italia TV
#Renzi#Calenda#TerzoPolo#politica#televisione#informazione#italia#giornalismo
Carlo #Calenda annuncia che il #TerzoPolo appoggerà #DAmato nel #Lazio e #Moratti in #Lombardia: “Hanno fatto bene sulla campagna vaccinale e la sanità.”
@UltimoraPolitics
#FVG2023
L’ex senatore PD Alessandro #Maran è il candidato del #TerzoPolo alla presidenza del Friuli Venezia Giulia.
Sono in corso interlocuzioni per presentare anche una lista di #PiùEuropa a suo sostegno.
(Il Piccolo)
@UltimoraPolitics24