Есть у QLabel есть одна особенность. Её минимальный размер определяется текстом, который в неё записан. Это приводит к тому что длинный текст принудительно увеличивает ширину интерфейса.
В большинстве случаев это выглядит плохо.
Как с этим бороться?
🔸 Обрезать текст заранее, задав лимит по длине строки. В этом случае мы теряем часть визуальной информации. Не всегда угадаешь нужный размер. В разных OS шрифт используется разный.
🔸 Делать перенос строки. Тогда мы получим изменение размера в другую сторону, что тоже поломает интерфейс.
🔸 Переопределить paintEvent() и сделать кастомный рендеринг текста. Можно, но слишком сложно для такой задачи.
Проще всего обрезать текст под текущий размер виджета используя класс QFontMetrics.
Он имеет готовый метод elidedText(), который просто вызываем по событию resizeEvent.
Я также добавил установку ToolTip чтобы всегда можно было увидеть полный текст при наведении курсора.
🌎 Код здесь
#qt#source
#Italia
Fonti #M5S|NI: Nervi tesi nel Movimento e irritazione di #Conte, nessuno aveva parlato in Consiglio Nazionale del voto degli iscritti su SkyVote. I vertici del M5S sospettano ci sia stata la "manina" di #Crimi sulla notizia.
@UltimoraPolitics
#M5S, per Vito #Crimi e Paola #Taverna arriva il salvataggio di #Conte: seppur non candidabili per il vincolo del doppio mandato, saranno collaboratori dei gruppi parlamentari e percepiranno 70mila euro l’anno. (Repubblica)
@UltimoraPolitics
#Italia
❗️Nel #M5S passa la linea di #Grillo: nessuna deroga ai due mandati.
Salta la ricandidatura di nomi storici come #Fico, #Taverna e #Crimi.
@UltimoraPolitics