Есть у QLabel есть одна особенность. Её минимальный размер определяется текстом, который в неё записан. Это приводит к тому что длинный текст принудительно увеличивает ширину интерфейса.
В большинстве случаев это выглядит плохо.
Как с этим бороться?
🔸 Обрезать текст заранее, задав лимит по длине строки. В этом случае мы теряем часть визуальной информации. Не всегда угадаешь нужный размер. В разных OS шрифт используется разный.
🔸 Делать перенос строки. Тогда мы получим изменение размера в другую сторону, что тоже поломает интерфейс.
🔸 Переопределить paintEvent() и сделать кастомный рендеринг текста. Можно, но слишком сложно для такой задачи.
Проще всего обрезать текст под текущий размер виджета используя класс QFontMetrics.
Он имеет готовый метод elidedText(), который просто вызываем по событию resizeEvent.
Я также добавил установку ToolTip чтобы всегда можно было увидеть полный текст при наведении курсора.
🌎 Код здесь
#qt#source
Inspired by engines, Snøhetta’s competition proposal for the Shanghai Industrial Museum honours the city's rich industrial heritage, while pushing the boundaries of both design and engineering.
Architecture: Snohetta
Visualization: mir.no& Proloog
#snøhetta#architecture#museum#shanghai#museum#proposal#modular#industrial#arch_shovel
🚀 Velora DAO Approves Wind-Down and Treasury Transfer to Laita Labs
Velora DAO has approved a proposal to wind down its operations, transferring approximately $415,000 from its treasury to Laita Labs. According to NS3.AI, this decision will shift protocol operations and future revenue to the development company. The proposal also includes ending the DAO's 20% fee routing, retiring staking with immediate withdrawals, and designating VLR as a governance-only token. The vote passed with 65.8% support.
#VeloraDAO#WindDown#TreasuryTransfer#LaitaLabs#NS3AI#DAO#GovernanceToken#VLR#Proposal#Cryptocurrency
#javascript#ecmascript_proposals#es2015#es2019#es6#es7#esnext#javascript#js#polyfill#ponyfill#promise#proposal#proposals#shim#symbol#weakmap
core-js is a modular JavaScript library that provides polyfills for modern ECMAScript features up to 2024, including promises, symbols, collections, iterators, typed arrays, and many web standards like URL and structuredClone. It lets you use new JavaScript features in older browsers by loading only the needed parts without polluting the global namespace. It integrates well with tools like Babel and swc for optimized polyfilling. This helps you write modern, compatible code that runs smoothly across different environments, improving development efficiency and user experience. You can customize polyfill usage and even build your own tailored version for your project.
https://github.com/zloirock/core-js