Есть у QLabel есть одна особенность. Её минимальный размер определяется текстом, который в неё записан. Это приводит к тому что длинный текст принудительно увеличивает ширину интерфейса.
В большинстве случаев это выглядит плохо.
Как с этим бороться?
🔸 Обрезать текст заранее, задав лимит по длине строки. В этом случае мы теряем часть визуальной информации. Не всегда угадаешь нужный размер. В разных OS шрифт используется разный.
🔸 Делать перенос строки. Тогда мы получим изменение размера в другую сторону, что тоже поломает интерфейс.
🔸 Переопределить paintEvent() и сделать кастомный рендеринг текста. Можно, но слишком сложно для такой задачи.
Проще всего обрезать текст под текущий размер виджета используя класс QFontMetrics.
Он имеет готовый метод elidedText(), который просто вызываем по событию resizeEvent.
Я также добавил установку ToolTip чтобы всегда можно было увидеть полный текст при наведении курсора.
🌎 Код здесь
#qt#source
Smile is the only curve that sets things in straight line.
Harsh from Gujarat pens down a thought on smile...!!
Do you know what's satisfying?
When you make someone smile while they were crying.
That smile which holds fire to shine from within, But helplessness just dims their light within.
The smile that wants to burst out laughing,
But their situation insists them to shed another drop of tear.
We can just take a small initiative.
Don't show hatred towards anyone in their low
You never know, when that low might turn everything around.
If possible bring a smile on someone's face
The satisfaction you'll gain can't be expressed.
God's above seeing this, will smile too
And in your life you'll surely ace.
~Harsh
#review#smile
Smile is the only curve that sets things in straight line.
Harsh from Gujarat pens down a thought on smile...!!
Do you know what's satisfying?
When you make someone smile while they were crying.
That smile which holds fire to shine from within, But helplessness just dims their light within.
The smile that wants to burst out laughing,
But their situation insists them to shed another drop of tear.
We can just take a small initiative.
Don't show hatred towards anyone in their low
You never know, when that low might turn everything around.
If possible bring a smile on someone's face
The satisfaction you'll gain can't be expressed.
God's above seeing this, will smile too
And in your life you'll surely ace.
~Harsh
#review#smile