Есть у QLabel есть одна особенность. Её минимальный размер определяется текстом, который в неё записан. Это приводит к тому что длинный текст принудительно увеличивает ширину интерфейса.
В большинстве случаев это выглядит плохо.
Как с этим бороться?
🔸 Обрезать текст заранее, задав лимит по длине строки. В этом случае мы теряем часть визуальной информации. Не всегда угадаешь нужный размер. В разных OS шрифт используется разный.
🔸 Делать перенос строки. Тогда мы получим изменение размера в другую сторону, что тоже поломает интерфейс.
🔸 Переопределить paintEvent() и сделать кастомный рендеринг текста. Можно, но слишком сложно для такой задачи.
Проще всего обрезать текст под текущий размер виджета используя класс QFontMetrics.
Он имеет готовый метод elidedText(), который просто вызываем по событию resizeEvent.
Я также добавил установку ToolTip чтобы всегда можно было увидеть полный текст при наведении курсора.
🌎 Код здесь
#qt#source
❗️ԱՄՆ-ում միջադեպ է տեղի ունեցել UFC մարտիկ Արման Ծառուկյանի հետ․ նրան իջեցրել են ինքնաթիռից՝ թռիչքի ընթացքում հեռախոսով զբաղված լինելու պատճառով։
Մարզիկը մեկնում էր մասնակցելու Real American Freestyle 8 մրցաշարին։
#UFC
Shara "Bullet" will face Michal Oleksiejczuk
The fight will be the co-main event of the UFC tournament in Abu Dhabi, scheduled for August 3.
#UFC
👁Subscribe to Main Event | Sport News
Khamzat Chimaev on his return to the octagon
"There is no fighter in the UFC who has won seven fights and hasn't fought for the title. Right now, I'm training in Russia, at 'Akhmat.' I've never had conditions like this anywhere else before."
#UFC
👁Subscribe to Main Event | Sport News
Масштабный проект для турнира UFC
Трамп анонсировал строительство стадиона на 100 000 мест для турнира UFC рядом с Белым домом. Это будет самое массовое мероприятие в истории UFC, превосходящее предыдущий рекорд в 57 000 зрителей.
#UFC#Спорт
Russia News — Подпишись