Есть у QLabel есть одна особенность. Её минимальный размер определяется текстом, который в неё записан. Это приводит к тому что длинный текст принудительно увеличивает ширину интерфейса.
В большинстве случаев это выглядит плохо.
Как с этим бороться?
🔸 Обрезать текст заранее, задав лимит по длине строки. В этом случае мы теряем часть визуальной информации. Не всегда угадаешь нужный размер. В разных OS шрифт используется разный.
🔸 Делать перенос строки. Тогда мы получим изменение размера в другую сторону, что тоже поломает интерфейс.
🔸 Переопределить paintEvent() и сделать кастомный рендеринг текста. Можно, но слишком сложно для такой задачи.
Проще всего обрезать текст под текущий размер виджета используя класс QFontMetrics.
Он имеет готовый метод elidedText(), который просто вызываем по событию resizeEvent.
Я также добавил установку ToolTip чтобы всегда можно было увидеть полный текст при наведении курсора.
🌎 Код здесь
#qt#source
‼️𝐂𝐄𝐂 𝐚 𝐝𝐢𝐬𝐜𝐮𝐭𝐚𝐭 𝐜𝐮 𝐬𝐨𝐜𝐢𝐞𝐭𝐚𝐭𝐞𝐚 𝐜𝐢𝐯𝐢𝐥ă 𝐝𝐢𝐧 𝐔𝐓𝐀 𝐆ă𝐠ă𝐮𝐳𝐢𝐚 𝐝𝐞𝐬𝐩𝐫𝐞 𝐩𝐫𝐨𝐯𝐨𝐜ă𝐫𝐢𝐥𝐞 ș𝐢 𝐩𝐞𝐫𝐬𝐩𝐞𝐜𝐭𝐢𝐯𝐞𝐥𝐞 𝐩𝐫𝐨𝐜𝐞𝐬𝐞𝐥𝐨𝐫 𝐞𝐥𝐞𝐜𝐭𝐨𝐫𝐚𝐥𝐞
Participanții au fost informați despre aspectele cadrului legal electoral în privința organizării alegerilor din regiune și rolul CEC în aceste procese electorale.
#CECMoldova#DemocrațiaContează#ONGUTAG#Alegeri