Есть у QLabel есть одна особенность. Её минимальный размер определяется текстом, который в неё записан. Это приводит к тому что длинный текст принудительно увеличивает ширину интерфейса.
В большинстве случаев это выглядит плохо.
Как с этим бороться?
🔸 Обрезать текст заранее, задав лимит по длине строки. В этом случае мы теряем часть визуальной информации. Не всегда угадаешь нужный размер. В разных OS шрифт используется разный.
🔸 Делать перенос строки. Тогда мы получим изменение размера в другую сторону, что тоже поломает интерфейс.
🔸 Переопределить paintEvent() и сделать кастомный рендеринг текста. Можно, но слишком сложно для такой задачи.
Проще всего обрезать текст под текущий размер виджета используя класс QFontMetrics.
Он имеет готовый метод elidedText(), который просто вызываем по событию resizeEvent.
Я также добавил установку ToolTip чтобы всегда можно было увидеть полный текст при наведении курсора.
🌎 Код здесь
#qt#source
🚨5月3日倫敦鑄幣廠大遊行
🚨May 3rd Anti-Mega Chinese embassy March
Date: 03-05-2025 / 2-5pm
Location: Royal Mint Court
Format: 遊行& 集會 March & Assembly
齊心協力,見證歷史!
誠邀你再臨倫敦,一同齊集鑄幣廠,以遊行形式抗議反對興建中共超級大使館!
早前傳媒估計政府可能五月作出決定,所以我哋而家更要把握機會向警方施壓,表明現時對附近的風險評估絕不成立,必須重申對倫敦鑄幣廠超級大使館嘅立場。
#NoMegaEmbassy#LondonProtest#NoSuperEmbassy#超級大使館#UK#倫敦#London#英國#鑄幣廠#中國超級大使館#舊皇家鑄幣廠#royalmintcourt
曼城街頭流水式集會
Full-Day Rally——Against to unacceptable China Mega Embassy
🗓️ 24 April (Thu)
⏱️ 9am — 4pm
📍 38 Warrington St, Ashton-under-Lyne OL6 7JS (Outside McDonald’s)
[無口號和平行動] 過嚟至少拎起塊紙牌show比途人睇有咩危機殺緊過嚟💪🏻
人數及輪替方式:每小時至少20人,無人輪替就一齊企到尾 [如有需要可自備口罩]
Source: Manchester Stands With Hong Kong
#Manchester#UK#NoMegaEmbassy#NoSuperEmbassy#超級大使館#倫敦#London#英國#鑄幣廠#中國超級大使館#舊皇家鑄幣廠#royalmintcourt