Есть у QLabel есть одна особенность. Её минимальный размер определяется текстом, который в неё записан. Это приводит к тому что длинный текст принудительно увеличивает ширину интерфейса.
В большинстве случаев это выглядит плохо.
Как с этим бороться?
🔸 Обрезать текст заранее, задав лимит по длине строки. В этом случае мы теряем часть визуальной информации. Не всегда угадаешь нужный размер. В разных OS шрифт используется разный.
🔸 Делать перенос строки. Тогда мы получим изменение размера в другую сторону, что тоже поломает интерфейс.
🔸 Переопределить paintEvent() и сделать кастомный рендеринг текста. Можно, но слишком сложно для такой задачи.
Проще всего обрезать текст под текущий размер виджета используя класс QFontMetrics.
Он имеет готовый метод elidedText(), который просто вызываем по событию resizeEvent.
Я также добавил установку ToolTip чтобы всегда можно было увидеть полный текст при наведении курсора.
🌎 Код здесь
#qt#source
Ventoy — fleshkani bir marta tayyorlab, keyin unga istagancha ISO faylni oddiy copy-paste qilib boot qiladigan dastur. Har safar Rufus kabi qayta format qilish shart emas.
Nega zo'r:
✅ Bitta fleshkada birqancha ISO fayllarni saqlasa bo'ladi
✅ ISO ni “yozish” shart emas — tashlab qo'yasiz xolos
✅ UEFI + Legacy BIOS ishlaydi
✅ Secure Boot qo‘llaydi
✅ 4 GB dan katta ISO ham bemalol ishlaydi
Masalan, 64 GB fleshka bo‘lsa ichiga:
Windows 10.iso
Windows 11.iso
Windows 7.iso
solib qo‘yasiz. Kompyuterni fleshkadan yoqasiz, menyu chiqadi — qaysi ISO kerak bo‘lsa tanlaysiz.
Batafsil to'liqroq tushunish uchun ushbu videoni ko'ring: link
📊Bizning barcha loyihalar | #ventoy
Ventoy
https://www.ventoy.net/en/index.html
Ventoy is an open source tool to create bootable USB drive for ISO/WIM/IMG/VHD(x)/EFI files.
With ventoy, you don't need to format the disk over and over, you just need to copy the ISO/WIM/IMG/VHD(x)/EFI files to the USB drive and boot them directly.
You can copy many files at a time and ventoy will give you a boot menu to select them (screenshot).
x86 Legacy BIOS, IA32 UEFI, x86_64 UEFI, ARM64 UEFI and MIPS64EL UEFI are supported in the same way.
Most type of OS supported (Windows/WinPE/Linux/Unix/VMware/Xen...)
#Ventoy#bootableUSBdrive#ISO#OpenSource