Есть у QLabel есть одна особенность. Её минимальный размер определяется текстом, который в неё записан. Это приводит к тому что длинный текст принудительно увеличивает ширину интерфейса.
В большинстве случаев это выглядит плохо.
Как с этим бороться?
🔸 Обрезать текст заранее, задав лимит по длине строки. В этом случае мы теряем часть визуальной информации. Не всегда угадаешь нужный размер. В разных OS шрифт используется разный.
🔸 Делать перенос строки. Тогда мы получим изменение размера в другую сторону, что тоже поломает интерфейс.
🔸 Переопределить paintEvent() и сделать кастомный рендеринг текста. Можно, но слишком сложно для такой задачи.
Проще всего обрезать текст под текущий размер виджета используя класс QFontMetrics.
Он имеет готовый метод elidedText(), который просто вызываем по событию resizeEvent.
Я также добавил установку ToolTip чтобы всегда можно было увидеть полный текст при наведении курсора.
🌎 Код здесь
#qt#source
H-h环h游y世s界j八b十s天t- 环游世界八十天 Around the World in Eighty Days (1956)
直达链接:https://pan.quark.cn/s/56fec16909c8
#环游世界八十天#八十日环游世界#环游地球80日
#Michael Todd's Around the World in 80 Days
#Around the World in Eighty Days
链接:https://link3.cc/sf_com
#电影#喜剧#美国#50年代
«Критиковать себя и искать в себе недостатки — пустая трата времени. Чем старше ты становишься, тем больше понимаешь это и с новой силой начинаешь любить себя — возможно, в этом и есть секрет моей красоты».
Сегодня исполнилось 68 лет Энди Макдауэлл.
#ВИДЕОТЕКА
#AndieMacDowell
#ЭндиМакдауэлл
#SexLiesAndVideotape
#GreenCard
#ВидНаЖительство
#HudsonHawk
#ГудзонскийЯстреб
#GroundhogDay
#ДеньСурка
#BadGirls
#FourWeddingsAndAFuneral
#ЧетыреСвадьбыИПохороны
#Michael
#Майкл
#Crush
#MagicMikeXXL
#Maid