Есть у QLabel есть одна особенность. Её минимальный размер определяется текстом, который в неё записан. Это приводит к тому что длинный текст принудительно увеличивает ширину интерфейса.
В большинстве случаев это выглядит плохо.
Как с этим бороться?
🔸 Обрезать текст заранее, задав лимит по длине строки. В этом случае мы теряем часть визуальной информации. Не всегда угадаешь нужный размер. В разных OS шрифт используется разный.
🔸 Делать перенос строки. Тогда мы получим изменение размера в другую сторону, что тоже поломает интерфейс.
🔸 Переопределить paintEvent() и сделать кастомный рендеринг текста. Можно, но слишком сложно для такой задачи.
Проще всего обрезать текст под текущий размер виджета используя класс QFontMetrics.
Он имеет готовый метод elidedText(), который просто вызываем по событию resizeEvent.
Я также добавил установку ToolTip чтобы всегда можно было увидеть полный текст при наведении курсора.
🌎 Код здесь
#qt#source
AI 智能体开源基金会成立:OpenAI、谷歌、亚马逊 AWS 等巨头加入,目标打破新时代垄断
为应对AI智能体发展可能出现的不兼容和封闭生态,Linux基金会启动“Agentic AI Foundation”(AAIF)。该组织旨在推动AI智能体相关开源项目的中立发展,初期获得Anthropic、Block和OpenAI的捐赠支持。Anthropic贡献了模型上下文协议MCP,Block贡献了Goose框架,OpenAI贡献了AGENTS.md。亚马逊AWS、彭博社、Cloudflare和谷歌等也已加入AAIF。AAIF通过“定向基金”模式筹集资金,技术路线图由技术指导委员会决定,以避免少数平台垄断AI智能体基础设施,确保不同系统间的协作。IT之家
🏷#Agentic#AI#Foundation#AI#智能体#开源
📢频道👥群组📝投稿