Есть у QLabel есть одна особенность. Её минимальный размер определяется текстом, который в неё записан. Это приводит к тому что длинный текст принудительно увеличивает ширину интерфейса.
В большинстве случаев это выглядит плохо.
Как с этим бороться?
🔸 Обрезать текст заранее, задав лимит по длине строки. В этом случае мы теряем часть визуальной информации. Не всегда угадаешь нужный размер. В разных OS шрифт используется разный.
🔸 Делать перенос строки. Тогда мы получим изменение размера в другую сторону, что тоже поломает интерфейс.
🔸 Переопределить paintEvent() и сделать кастомный рендеринг текста. Можно, но слишком сложно для такой задачи.
Проще всего обрезать текст под текущий размер виджета используя класс QFontMetrics.
Он имеет готовый метод elidedText(), который просто вызываем по событию resizeEvent.
Я также добавил установку ToolTip чтобы всегда можно было увидеть полный текст при наведении курсора.
🌎 Код здесь
#qt#source
最近有唔少家長問:「16歲以上嘅學生可以點樣升學?」「點樣部署升大學嘅問題?」為咗方便解答大家嘅問題,我哋邀請咗教育顧問、大學生同埋Sixth former ,向大家解釋升學同埋生活嘅問題。
今次網上講座適合準備移民英國嘅學生及其家長,內容包括中學大學嘅入學問題、校園生活、學業壓力等等嘅問題。
日期 8月20日
時間 Time 2000-2130(香港時間 HKT)
平台 Microsoft Teams
語言 廣東話
講者 Speaker
Jordan Lai: Education Consultant
Chloe Kwan: Student at the University of Cambridge
Nicholas: Sixth former
Registration
https://www.eventbrite.co.uk/e/16-tickets-388262823557
#webinar#hksacic#student#hksa#香港學生同盟