Есть у QLabel есть одна особенность. Её минимальный размер определяется текстом, который в неё записан. Это приводит к тому что длинный текст принудительно увеличивает ширину интерфейса.
В большинстве случаев это выглядит плохо.
Как с этим бороться?
🔸 Обрезать текст заранее, задав лимит по длине строки. В этом случае мы теряем часть визуальной информации. Не всегда угадаешь нужный размер. В разных OS шрифт используется разный.
🔸 Делать перенос строки. Тогда мы получим изменение размера в другую сторону, что тоже поломает интерфейс.
🔸 Переопределить paintEvent() и сделать кастомный рендеринг текста. Можно, но слишком сложно для такой задачи.
Проще всего обрезать текст под текущий размер виджета используя класс QFontMetrics.
Он имеет готовый метод elidedText(), который просто вызываем по событию resizeEvent.
Я также добавил установку ToolTip чтобы всегда можно было увидеть полный текст при наведении курсора.
🌎 Код здесь
#qt#source
[$] HTTPS certificates in the age of quantum computing
IETF 成立新工作组,研究后量子时代的 HTTPS 证书认证问题。为应对未来量子计算机的威胁,该工作组正探索在后量子密码学下,如何实现身份认证与证书透明性。主要挑战在于后量子证书体积将增大至约 40 倍,工作组正研究压缩技术,这些技术也可能提升传统证书的效率。
原文链接:https://lwn.net/Articles/1060941/
#网络安全#量子计算#密码学#IETF
#AIGC
Read more