Есть у QLabel есть одна особенность. Её минимальный размер определяется текстом, который в неё записан. Это приводит к тому что длинный текст принудительно увеличивает ширину интерфейса.
В большинстве случаев это выглядит плохо.
Как с этим бороться?
🔸 Обрезать текст заранее, задав лимит по длине строки. В этом случае мы теряем часть визуальной информации. Не всегда угадаешь нужный размер. В разных OS шрифт используется разный.
🔸 Делать перенос строки. Тогда мы получим изменение размера в другую сторону, что тоже поломает интерфейс.
🔸 Переопределить paintEvent() и сделать кастомный рендеринг текста. Можно, но слишком сложно для такой задачи.
Проще всего обрезать текст под текущий размер виджета используя класс QFontMetrics.
Он имеет готовый метод elidedText(), который просто вызываем по событию resizeEvent.
Я также добавил установку ToolTip чтобы всегда можно было увидеть полный текст при наведении курсора.
🌎 Код здесь
#qt#source
In which language does "39" (spoken as san kyuu) sound like "thank you" due to the influence of English?
🧠 Follow @languagetrivia for more
#numbers
Check out the correct answer in the comments
In which language is "520" commonly used in messaging to mean "I love you"?
🧠 Follow @languagetrivia for more
#regular_multiple_choice#numbers
Check out the correct answer in the comments
How many English words made their first recorded appearance in Shakespeare’s writings?
A) 200
B) 1700
C) 4000
D) 18000
Take the quiz below to check if you guessed it right
@languagetrivia#numbers#history
The Week in Numbers: Christmas is cancelled
Chinese coal prices are at record levels, U.S. gasoline is at seven-year highs and benchmark crude climbs by the day. Signs of an energy crunch can be found wherever you look. More of the big numbers in business from the past week.
#News#Reuters#numbers#energycrisis#France#Bitcoin
Subscribe: http://smarturl.it/reuterssubscribe
Reuters brings you the latest business, finance and breaking news video from around the globe. Our reputation for accuracy and impartiality is unparalleled.
Get the latest news on: http://reuters.com/
Follow Reuters on Facebook: https://www.facebook.com/Reuters
Follow Reuters on Twitter: https://twitter.com/Reuters
Follow Reuters on Instagram: https://www.instagram.com/reuters/?hl=en
➖@reutersworldchannel➖