news 2026/10/3 13:50:36

QML 自定义 TabBar:宽度形变

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
QML 自定义 TabBar:宽度形变

目录

    • 先选方案
    • 拆开讲讲
      • 宽度是算出来的
      • 文字宽度从 0 弹出来
      • 三处动画收尾有先有后
    • 几个可以调的参数
    • 什么时候用
    • 小结
    • 完整代码
    • 工程下载

本文介绍 QML 自定义的宽度形变组件。如图所示:

M3 Expressive 风格:平时只露小图标,选中项弹性展开成图标加文字,整排标签跟着弹簧重新分配位置。


先选方案

先定一个问题:标签宽度怎么定?为什么选中时才让它弹开,而不是全部等宽?

  • 固定等宽:写死同一宽度,最省;整齐但呆板,适合条目多、要严格对齐的设置页。
  • 随文字自适应:宽度绑 implicitWidth,便宜;紧凑自然,适合长短不一的桌面菜单,但性能差。
  • 选中时形变动画:弹性宽度派生 + Behavior 里弹簧缓出,成本中等;像橡皮筋撑开、整排重排,适合手机底部导航、M3 Expressive 风格;条目一多重排就乱。

取舍一句话:用宽度动画的开销来换空间使用效率,代价是每次切换整排重排,条目多了会乱。所以它适合五个左右、平时只露图标的底部导航,不适合条目多、文字全程可见的菜单。具体选型见后面「什么时候用」对照表。


拆开讲讲

下面是逐段讲解,完整代码放在文章末尾的「完整代码」里。整个标签栏就四块,一块一块说。

先看一张时序表,把整段动画的骨架记在心里,再逐块拆:

<
步骤动作
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/3 13:46:06

代码改了文档没改?用 Codex 做一次全仓库文档漂移审计

代码改了文档没改?用 Codex 做一次全仓库文档漂移审计 [!NOTE] 文档漂移审计不是“让 Codex 重写所有 README”,而是以固定提交为边界,比较源码、测试、OpenAPI、示例、发布说明与现有文档,先列证据,再只更新受影响页面。 OpenAI 官方用例强调保留现有结构与术语、排除未公…

作者头像 李华
网站建设 2026/10/3 13:45:20

多项式拟合正弦曲线:机器学习入门实验,理解过拟合与正则化

简介&#xff1a;这份资源面向机器学习初学者与课程实验学习者&#xff0c;围绕多项式拟合正弦曲线这一经典课题&#xff0c;提供完整的Python实现与实验报告。内容涵盖最小二乘法解析解、带2范数惩罚项的正则化优化、梯度下降与共轭梯度法的手写实现&#xff0c;并引导读者通过…

作者头像 李华