Есть у QLabel есть одна особенность. Её минимальный размер определяется текстом, который в неё записан. Это приводит к тому что длинный текст принудительно увеличивает ширину интерфейса.
В большинстве случаев это выглядит плохо.
Как с этим бороться?
🔸 Обрезать текст заранее, задав лимит по длине строки. В этом случае мы теряем часть визуальной информации. Не всегда угадаешь нужный размер. В разных OS шрифт используется разный.
🔸 Делать перенос строки. Тогда мы получим изменение размера в другую сторону, что тоже поломает интерфейс.
🔸 Переопределить paintEvent() и сделать кастомный рендеринг текста. Можно, но слишком сложно для такой задачи.
Проще всего обрезать текст под текущий размер виджета используя класс QFontMetrics.
Он имеет готовый метод elidedText(), который просто вызываем по событию resizeEvent.
Я также добавил установку ToolTip чтобы всегда можно было увидеть полный текст при наведении курсора.
🌎 Код здесь
#qt#source
Our Korea team is here at the first Hackathon by BNB Chain!
We're excited to be one of their track sponsors ✨
Drop by if you’d like to meet up with any of the DWF Labs & BNB Chain team 🔥
📍: sjkunsthalle, 5 Eonju-ro 148-gil, Gangnam-Gu, Seoul
📍: 에스제이쿤스트할레, 서울 강남구 언주로148길 5
#BNBChainSeoul🇰🇷
"As the size of the market has recently shrunk and the market price of most coins has fallen, investors may be reluctant to invest.
We plan to aggressively invest in innovative services, regardless of service type, such as #DeFi or #GameFi.
DWF Labs sees now as the right time to invest. DWF Labs will continue to discover and invest in promising projects," said Harvey Kim, DWF Labs Head of Korea.
We're proud to be one of the track sponsors of the #BNB Chain Innovation Hackathon.
Read the full interview here.
#BNBChainSeoul🇰🇷#throwback