Есть у QLabel есть одна особенность. Её минимальный размер определяется текстом, который в неё записан. Это приводит к тому что длинный текст принудительно увеличивает ширину интерфейса.
В большинстве случаев это выглядит плохо.
Как с этим бороться?
🔸 Обрезать текст заранее, задав лимит по длине строки. В этом случае мы теряем часть визуальной информации. Не всегда угадаешь нужный размер. В разных OS шрифт используется разный.
🔸 Делать перенос строки. Тогда мы получим изменение размера в другую сторону, что тоже поломает интерфейс.
🔸 Переопределить paintEvent() и сделать кастомный рендеринг текста. Можно, но слишком сложно для такой задачи.
Проще всего обрезать текст под текущий размер виджета используя класс QFontMetrics.
Он имеет готовый метод elidedText(), который просто вызываем по событию resizeEvent.
Я также добавил установку ToolTip чтобы всегда можно было увидеть полный текст при наведении курсора.
🌎 Код здесь
#qt#source
🔰Mensaje en X del ayatolá Jameneí
⭕️Si #Jesucristo estuviera hoy entre nosotros, no desaprovecharía ni un instante en la lucha contra los caudillos de la opresión, ni toleraría el hambre y la miseria de miles de millones de seres humanos empujados a la explotación y la guerra por las grandes potencias.
#Gaza
🔗VER EL MENSAJE
Sigan el canal en Telegram del Ayatolá Jameneí 👉@khamenei_es
KHAMENEI.IR | 𝕏 | Facebook| TikTok
🟥La placa “Si #Jesucristo (P) estuviera entre nosotros...” es presentada al Papa
⭕️Una parte de las declaraciones del Líder de la Revolución Islámica, el ayatolá Jameneí, que se han dedicado a Jesucristo (P) fue regalada al #Papa Francisco.
👉🔗LEER LA NOTICIA COMPLETA
Sigan el canal en Telegram del Ayatolá Jameneí 👉@khamenei_es
KHAMENEI.IR | 𝕏 | Facebook| TikTok