Есть у QLabel есть одна особенность. Её минимальный размер определяется текстом, который в неё записан. Это приводит к тому что длинный текст принудительно увеличивает ширину интерфейса.
В большинстве случаев это выглядит плохо.
Как с этим бороться?
🔸 Обрезать текст заранее, задав лимит по длине строки. В этом случае мы теряем часть визуальной информации. Не всегда угадаешь нужный размер. В разных OS шрифт используется разный.
🔸 Делать перенос строки. Тогда мы получим изменение размера в другую сторону, что тоже поломает интерфейс.
🔸 Переопределить paintEvent() и сделать кастомный рендеринг текста. Можно, но слишком сложно для такой задачи.
Проще всего обрезать текст под текущий размер виджета используя класс QFontMetrics.
Он имеет готовый метод elidedText(), который просто вызываем по событию resizeEvent.
Я также добавил установку ToolTip чтобы всегда можно было увидеть полный текст при наведении курсора.
🌎 Код здесь
#qt#source
#Israele colpisce 50 volte in meno di 24 ore il territorio siriano causando la morte di 75 persone. L'esercito israeliano continua a fornire armi ai #drusi a #Suvidha, che stanno affrontando vari attacchi lanciati da varie formazioni paramilitari.
Si chiama "Saraya Ensar el-Sünne" (i soldati dei sunniti) l'organizzazione che ha rivendicato l'attentato organizzato contro una chiesa a #Damasco/#Siria causando la morte di 25 persone.
E' un'organizzazione nuova e di basso profilo nato in Siria. Nasce poco prima della caduta del regime di #Assad. E' stato citato il suo nome durante l'eccidio fatto contro i cittadini #Alawiti qualche mese fa sulle coste mediterranee in Siria. Prende di mira le religioni e fazioni diverse, prima di tutti Alawiti, #Drusi, #Rafidi e anche le forze armate curde.