Есть у QLabel есть одна особенность. Её минимальный размер определяется текстом, который в неё записан. Это приводит к тому что длинный текст принудительно увеличивает ширину интерфейса.
В большинстве случаев это выглядит плохо.
Как с этим бороться?
🔸 Обрезать текст заранее, задав лимит по длине строки. В этом случае мы теряем часть визуальной информации. Не всегда угадаешь нужный размер. В разных OS шрифт используется разный.
🔸 Делать перенос строки. Тогда мы получим изменение размера в другую сторону, что тоже поломает интерфейс.
🔸 Переопределить paintEvent() и сделать кастомный рендеринг текста. Можно, но слишком сложно для такой задачи.
Проще всего обрезать текст под текущий размер виджета используя класс QFontMetrics.
Он имеет готовый метод elidedText(), который просто вызываем по событию resizeEvent.
Я также добавил установку ToolTip чтобы всегда можно было увидеть полный текст при наведении курсора.
🌎 Код здесь
#qt#source
💻Dasturchi hayoti… haqiqatda shunday!
9:00 – "Bugun ertalab tezroq ish boshlayman"
9:30 – Kofe bilan kod yozishni boshlaydi
10:00 – Console.log everywhere… bug topildi, lekin uni tuzatish 2 soat davom etadi 🤯
12:00 – "Nega ishlamayapti?" deb o‘ylab, aslida oddiy vergul yetishmaydi 😂
13:00 – Ovqat va kod… hammasi bir ekranda 🍔
15:00 – Git conflict paydo bo'ldi, dunyo tugadi deb o'ylaydi
18:00 – "Bugun tezroq uyga boraman"
22:00 – Yangi g'oya keladi va yana kod yozishni boshlaydi
🤣 Dasturchilar, o'zingizni topdingizmi?
👇 Izohlarda eng qiyin buglaringizni yozing, eng kulgilisi kanalda repost qilinadi!
#dasturchihayoti#programmerlife#kodlash
💻@dasturlash_hayoti— dasturchilar hayoti va IT memlari aralash kanal😉
#dasturlash#TZ#texniktopshiriq#webdevelopment#dasturchihayoti
TZ (Texnik topshiriq) yo'q bo‘lsa nima bo'ladi?
❌ Dasturchi: "Men tushunganimcha qildim"
❌ Buyurtmachi: "Men bunday demagandim"
❌ Natija: 10 marta qayta tuzatish, asab, vaqt yo'qotish 😅
📄TZ nima beradi?
✅ Nima qilinishi aniq bo‘ladi
✅ Qanday texnologiya ishlatilishi belgilanadi
✅ Muddat va natija tushunarli bo‘ladi
✅ "Boshqacha qil" degan gaplar kamayadi
Yaxshi loyiha — yaxshi TZ bilan boshlanadi.
Kod yozishdan oldin yozma kelishuv qiling ✍️
Dasturchilar ham, buyurtmachilar ham buni yodda tutsin!
💻@dasturlash_hayoti— dasturchilar hayoti va IT memlari aralash kanal😉
Dasturchi bo‘lishni xohlaysanmi? Unda bunga tayyor bo‘l😂
1️⃣“Bugun 10 ta task yopaman” deysan
Soat 11:00 — bitta vergul xato chiqadi 😭
2️⃣Kod ishlamayapti
30 minut debug qilasan…
Oxiri bilasan: id o‘rniga ID yozgansan 🤦♂️
3️⃣ Internet o‘chsa — hayot ma’nosiz
ChatGPT yo‘q = 70% bilim ham yo‘q 😂
4️⃣Git conflict chiqsa
O‘zingni NASA serverini buzib qo‘ygandek his qilasan 💥
5️⃣“Bu oddiy loyiha” deyishadi
Oddiy loyiha degani:
Login, register, admin panel, to‘lov tizimi, API, mobile versiya 😅
6️⃣ Deadline yaqinlashsa
Bir kunda 3 kunlik energiya paydo bo‘ladi ⚡️
7️⃣Kod ishlagan payt
O‘zingni xuddi hacker kinodagi bosh qahramondek his qilasan 😎
Dasturchilik — bu kasb emas.
Bu — sabr testi 😂
Agar shunaqa holatlar sizda ham bo‘lsa:
Reaksiya qoldiring 👇😄
#dasturchihayoti#programmerlife#itmem#webdasturlash#backend#frontend
💻@dasturlash_hayoti— dasturchilar hayoti va IT memlari aralash kanal😉