Есть у QLabel есть одна особенность. Её минимальный размер определяется текстом, который в неё записан. Это приводит к тому что длинный текст принудительно увеличивает ширину интерфейса.
В большинстве случаев это выглядит плохо.
Как с этим бороться?
🔸 Обрезать текст заранее, задав лимит по длине строки. В этом случае мы теряем часть визуальной информации. Не всегда угадаешь нужный размер. В разных OS шрифт используется разный.
🔸 Делать перенос строки. Тогда мы получим изменение размера в другую сторону, что тоже поломает интерфейс.
🔸 Переопределить paintEvent() и сделать кастомный рендеринг текста. Можно, но слишком сложно для такой задачи.
Проще всего обрезать текст под текущий размер виджета используя класс QFontMetrics.
Он имеет готовый метод elidedText(), который просто вызываем по событию resizeEvent.
Я также добавил установку ToolTip чтобы всегда можно было увидеть полный текст при наведении курсора.
🌎 Код здесь
#qt#source
🇬🇧英國駐香港總領事館發感謝港人影片🕯
"We are grateful for Hongkongers’ solidarity following the death of Her Late Majesty The Queen.
英國駐香港總領事館感謝曾到來悼念女王陛下的每一位"
UK in Hong Kong Facebook Page
英國駐港總領事館悼念時間只剩下周一(19日)亦額外開放早上9時至12時予公眾。大家預先請準備好要寫上的子句,可減少輪候時間並讓更多人可以參與。
📌其他英國資訊 TG Channel
t.me/britonshk
📌英戰線討論區 TG Group
bit.ly/BHK612TG
#香港#民心所向#英女王駕崩#正義道
#QueenElizabeth#GSTQ#QSTK