Есть у QLabel есть одна особенность. Её минимальный размер определяется текстом, который в неё записан. Это приводит к тому что длинный текст принудительно увеличивает ширину интерфейса.
В большинстве случаев это выглядит плохо.
Как с этим бороться?
🔸 Обрезать текст заранее, задав лимит по длине строки. В этом случае мы теряем часть визуальной информации. Не всегда угадаешь нужный размер. В разных OS шрифт используется разный.
🔸 Делать перенос строки. Тогда мы получим изменение размера в другую сторону, что тоже поломает интерфейс.
🔸 Переопределить paintEvent() и сделать кастомный рендеринг текста. Можно, но слишком сложно для такой задачи.
Проще всего обрезать текст под текущий размер виджета используя класс QFontMetrics.
Он имеет готовый метод elidedText(), который просто вызываем по событию resizeEvent.
Я также добавил установку ToolTip чтобы всегда можно было увидеть полный текст при наведении курсора.
🌎 Код здесь
#qt#source
#Turchia: confermato l'arresto per 4 persone all'interno dell'inchiesta aperta contro la rivista di satira #Leman, accusata di "offendere i valori religiosi" per via di un fumetto pubblicato il 26 giugno.
#Turchia: la rivista fumettistica e satirica #LeMan pubblica un passaggio in cui è accusato di aver illustrato il profeta #maometto. Preso d'assalto la sede centrale a Istanbul, in detenzione provvisoria il capo redattore, il fumettista e il grafico e il numero sarà ritirato.
#Turchia: un parlamentare, appartenente al principale partito del governo, #AKP, prende la parola per criticare il fumetto pubblicato dalla rivista satirica #Leman, accusata di raffigurare il Profeta #Maometto e di "offendere i valori religiosi" e intona una cantilena religiosa per benedire il Profeta.
https://www.youtube.com/watch?v=SptKWYmX6sE