Есть у QLabel есть одна особенность. Её минимальный размер определяется текстом, который в неё записан. Это приводит к тому что длинный текст принудительно увеличивает ширину интерфейса.
В большинстве случаев это выглядит плохо.
Как с этим бороться?
🔸 Обрезать текст заранее, задав лимит по длине строки. В этом случае мы теряем часть визуальной информации. Не всегда угадаешь нужный размер. В разных OS шрифт используется разный.
🔸 Делать перенос строки. Тогда мы получим изменение размера в другую сторону, что тоже поломает интерфейс.
🔸 Переопределить paintEvent() и сделать кастомный рендеринг текста. Можно, но слишком сложно для такой задачи.
Проще всего обрезать текст под текущий размер виджета используя класс QFontMetrics.
Он имеет готовый метод elidedText(), который просто вызываем по событию resizeEvent.
Я также добавил установку ToolTip чтобы всегда можно было увидеть полный текст при наведении курсора.
🌎 Код здесь
#qt#source
#Elezioni#Slovenia
Secondo l'exit poll di Mediana, il chiaro vincitore di queste elezioni è il nuovo partito #GS|Verdi, nato dalle ceneri di ZDEJ. Con il suo 35,8%, il partito verde liberale è a pochi seggi dalla maggioranza assoluta.
@UltimoraPolitics
Крупные банки США зафиксировали рекордную выручку в Q1
♦️JPMorgan Chase сообщил о торговой выручке на уровне 11,6 млрд долл и общей выручке 49,8 млрд долл, чистая прибыль — 16,5 млрд.
♦️Citigroup зафиксировала рекорд за десятилетие квартальную выручку 24,6 млрд долл и рост чистой прибыли на 42%, а торговля и доход по фиксированному доходу показывают прирост.
♦️Goldman Sachs отчитался о чистой прибыли 5,63 млрд и выручке 17,23 млрд долл, торговля акциями — рост на 27% год к году.
#JPM#C#GS
Сайт | Бот | Invest Era
#Slovenia
Il Leader di #GS|Verdi Robert #Golob è stato nominato dal Parlamento come nuovo Primo Ministro con 54 voti a favore e 30 contrari, con 5 astenuti e 1 voto non valido.
@UltimoraPolitics
#Francia
#LFI|LEFT e #Gs|Sinistra, partito dell'ex candidato presidenziale Benoît #Hamon, hanno annunciato che correranno insieme alle prossime legislative, sotto il nome di "Union Populaire". Attualmente i due partiti contano 18 seggi nell'assemblea nazionale.
@UltimoraPolitics