QML 故事进度条:分段积累式填充与文字标签

发布时间:2026/8/21 20:33:43
QML 故事进度条:分段积累式填充与文字标签 目录Demo 故事进度条演示代码关键逻辑解析1、核心公式:积累式填充2、每一格的宽度怎么算3、填充色块怎么保证从左往右慢慢变长4、格子里面文字什么时候变白色5、文字颜色平滑处理6、底部显示“第几段”的数字7、故事文本数组为什么写在最外层组件运行验证扩展复用方向工程下载故事进度条模仿社交平台的故事(Story)功能——整条进度分成多段,每段对应一个故事,进度推进时一段段地填充,每段还带文字标签。这种形式在多步骤引导、章节进度、故事回放这类场景里很常见。和分段进度条的区别在于:分段进度条每段独立亮灭,故事进度条是「积累式」——前面段已满、当前段按比例填充、后面段空白。Demo 故事进度条五个故事段水平排列,每段内嵌故事文字标签,底部一根滑杆控制整体进度,下方显示当前段编号。涉及的核心知识点:积累式填充公式 clamp(slider.value * 5 - index, 0, 1)每段内嵌文字标签文字颜色跟随段填充状态切换段编号文字显示当前位置故事文字数组声明在根组件以下演示代码来自qml_progress/Demo_StoryBar.qml,为便于阅读,只展示了关键代码。演示代码FadeInAnimation { // 故事文字标签(声明在根组件,Repeater delegate 才能访问) property var storyTexts: ["今天 ☀️", "海边 🏖️", "