Есть у QLabel есть одна особенность. Её минимальный размер определяется текстом, который в неё записан. Это приводит к тому что длинный текст принудительно увеличивает ширину интерфейса.
В большинстве случаев это выглядит плохо.
Как с этим бороться?
🔸 Обрезать текст заранее, задав лимит по длине строки. В этом случае мы теряем часть визуальной информации. Не всегда угадаешь нужный размер. В разных OS шрифт используется разный.
🔸 Делать перенос строки. Тогда мы получим изменение размера в другую сторону, что тоже поломает интерфейс.
🔸 Переопределить paintEvent() и сделать кастомный рендеринг текста. Можно, но слишком сложно для такой задачи.
Проще всего обрезать текст под текущий размер виджета используя класс QFontMetrics.
Он имеет готовый метод elidedText(), который просто вызываем по событию resizeEvent.
Я также добавил установку ToolTip чтобы всегда можно было увидеть полный текст при наведении курсора.
🌎 Код здесь
#qt#source
🪐 The star HD 110432, found in the constellation Centaurus, is known for its intense X-ray flares and rapid spinning. This strange star belongs to the "gamma Cassiopeiae variables"—a class of hot, blue stars that shed material from their equators and produce mysterious, unpredictable bursts of X-rays unlike most other stars in our galaxy. ✨
#stars⚡#mysteries⚡#variables⚡#nasa⚡#galaxy⚡#astronomy⚡#universe⚡#cosmos⚡#space
👉subscribe Universe Mysteries
O'zgaruvchilar
Barcha dasturlash tillarida eng ahamiyatli o’rinlardan birida turadigan, hamda ko’pchilikka ilk dasturlashni boshlash chog’larida muammo bo’lishga ulgurgan, ushbu mavzu to’g’risida yaqin daqiqalar ichida tushunmovchiliklarga barham beramiz.
👉Batafsil
👨🏫 Mentor: Xondamir Abduxoshimov
#csharp#variables#starter#dotnet
.NET Uzbekistan Community
__________
Telegram | Instagram | Youtube
Dizayn tizimingdagi tokenlar ish jarayonini qanday o‘zgartirib yuborishini bilasanmi?
Komponentlar va auto layoutlar bu «zo‘r narsa», lekin tokenlarsiz sen vaqtni tejash va dizayndagi bir xillik (consistency)ning eng muhim qismini boy berasan.
Tokenlar — bu ranglar (colors), shriftlar (typography), bo‘shliqlar (spacing) va boshqa uslubiy (style) parametrlar uchun o‘zgaruvchilar (variables) hisoblanadi.
Tasavvur qil, bitta token qiymatini o‘zgartirasan va butun mahsulot avtomatik yangilanadi. 💎
50 ta ekran dizaynini qo‘lda tahrirlashni xohlaysanmi? 🤯
— Albatta yo‘q. Tokenlar bu ishni atigi ikki bosishda hal qiladi, xatolar sonini kamaytiradi va relizlarni (releases) tezlashtiradi.
P.S. Tokenlar bilan ishlashdagi samarali tajribalarni izohda yozib qoldiramiz)
@suxrobblog
» #designsystem#token#variables