Есть у QLabel есть одна особенность. Её минимальный размер определяется текстом, который в неё записан. Это приводит к тому что длинный текст принудительно увеличивает ширину интерфейса.
В большинстве случаев это выглядит плохо.
Как с этим бороться?
🔸 Обрезать текст заранее, задав лимит по длине строки. В этом случае мы теряем часть визуальной информации. Не всегда угадаешь нужный размер. В разных OS шрифт используется разный.
🔸 Делать перенос строки. Тогда мы получим изменение размера в другую сторону, что тоже поломает интерфейс.
🔸 Переопределить paintEvent() и сделать кастомный рендеринг текста. Можно, но слишком сложно для такой задачи.
Проще всего обрезать текст под текущий размер виджета используя класс QFontMetrics.
Он имеет готовый метод elidedText(), который просто вызываем по событию resizeEvent.
Я также добавил установку ToolTip чтобы всегда можно было увидеть полный текст при наведении курсора.
🌎 Код здесь
#qt#source
AI 正在重塑世界顶级围棋选手们的思考方式
AI正在深刻改变围棋运动。Google DeepMind 的 AlphaGo 在 2016 年击败李世石后,AI 彻底颠覆了围棋的策略和训练方式。职业棋手现在依赖 AI 程序如 KataGo 进行训练,模仿 AI 的棋步,并分析比赛。尽管 AI 改变了比赛风格,导致开局策略同质化,但它也为女性棋手提供了更多机会,并促进了训练的 democratizing。顶级棋手如申真绪正在利用 AI 提升水平,但同时也面临着理解 AI 思考方式的挑战。尽管 AI 已经超越了人类棋手,但人们仍然更喜欢观看人类之间的比赛,因为人类比赛更能展现个性、创造力和戏剧性。MIT Technology Review
🏷#AI#Go#AlphaGo#KataGo
📢频道👥群组📝投稿