[{"data":1,"prerenderedAt":222},["ShallowReactive",2],{"navigation_docs":3,"-getting-started-project-structure":56,"-getting-started-project-structure-surround":217},[4,36,46],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":35},"快速开始","i-lucide-rocket","\u002Fgetting-started","1.getting-started",[10,15,20,25,30],{"title":11,"path":12,"stem":13,"icon":14},"简介","\u002Fgetting-started\u002Fintroduction","1.getting-started\u002F1.introduction","i-lucide-info",{"title":16,"path":17,"stem":18,"icon":19},"安装与构建","\u002Fgetting-started\u002Finstallation","1.getting-started\u002F2.installation","i-lucide-download",{"title":21,"path":22,"stem":23,"icon":24},"如何使用","\u002Fgetting-started\u002Fusage","1.getting-started\u002F3.usage","i-lucide-play",{"title":26,"path":27,"stem":28,"icon":29},"项目结构","\u002Fgetting-started\u002Fproject-structure","1.getting-started\u002F4.project-structure","i-lucide-folder-tree",{"title":31,"path":32,"stem":33,"icon":34},"里程碑","\u002Fgetting-started\u002Fmilestones","1.getting-started\u002F5.milestones","i-lucide-map",false,{"title":37,"icon":38,"path":39,"stem":40,"children":41,"page":35},"设计","i-lucide-drafting-compass","\u002Fdesign","2.design",[42],{"title":43,"path":44,"stem":45,"icon":38},"技术方案","\u002Fdesign\u002Ftechnical-design","2.design\u002F1.technical-design",{"title":47,"icon":48,"path":49,"stem":50,"children":51,"page":35},"开发","i-lucide-puzzle","\u002Fdevelopment","3.development",[52],{"title":53,"path":54,"stem":55,"icon":48},"组件开发流程","\u002Fdevelopment\u002Fcomponent-workflow","3.development\u002F1.component-workflow",{"id":57,"title":26,"body":58,"description":210,"extension":211,"links":212,"meta":213,"navigation":214,"path":27,"seo":215,"stem":28,"__hash__":216},"docs\u002F1.getting-started\u002F4.project-structure.md",{"type":59,"value":60,"toc":205},"minimark",[61,64,75,80,124,128],[62,63,26],"h1",{"id":26},[65,66,72],"pre",{"className":67,"code":69,"language":70,"meta":71},[68],"language-text","qtshadcn\u002F\n├── CMakeLists.txt              # 根构建\n├── Makefile                    # make build \u002F make run 快捷命令\n├── src\u002F\n│   ├── CMakeLists.txt          # QtShadcn 库（qt_add_qml_module, URI: QtShadcn）\n│   ├── qml\u002F\n│   │   ├── Theme\u002F\n│   │   │   ├── QtShadcnTheme.qml    # 声明式主题入口（绑定 C++ ThemeManager）\n│   │   │   └── VariantTokens.qml    # variant → token 映射表（新增 variant 在此加项）\n│   │   ├── Components\u002F\n│   │   │   ├── ShadcnButton.qml     # 按钮（6 variant × 5 size + loading）\n│   │   │   ├── ShadcnButtonGroup.qml\n│   │   │   ├── ShadcnToggle.qml\n│   │   │   ├── ShadcnToggleGroup.qml\n│   │   │   └── ShadcnSpinner.qml\n│   │   └── ...                # Icons \u002F Animations \u002F Utils（M4+）\n│   └── core\u002F                  # C++ 能力层\n│       ├── thememanager.{h,cpp}     # Theme 引擎（tokens 字典 + mode 切换）\n│       ├── iconregistry.{h,cpp}     # SVG 图标注册\u002F加载（M4）\n│       └── models\u002F                  # QAbstractListModel 等（M5）\n├── examples\u002F\n│   └── showcase\u002F              # 组件展示应用（每个里程碑的验证载体）\n│       ├── Main.qml           # 左侧菜单 + 右侧内容区（右上角主题色\u002F明暗切换）\n│       ├── pages\u002F             # 每个组件一个展示页，新增组件 = 加页 + 菜单加一项\n│       │   ├── OverviewPage.qml\n│       │   ├── ThemePage.qml\n│       │   ├── ButtonPage.qml\n│       │   ├── ButtonGroupPage.qml\n│       │   ├── TogglePage.qml\n│       │   └── SpinnerPage.qml\n│       └── main.cpp\n└── docs\u002F                      # Docus 文档站（本目录）\n    ├── content\u002F               # Markdown 内容\n    ├── public\u002F                # 静态资源（logo \u002F favicon）\n    └── nuxt.config.ts\n","text","",[73,74,69],"code",{"__ignoreMap":71},[76,77,79],"h2",{"id":78},"qml-模块约定","QML 模块约定",[81,82,83,97,107,117],"ul",{},[84,85,86,89,90,93,94],"li",{},[73,87,88],{},"qt_add_qml_module"," 生成 URI ",[73,91,92],{},"QtShadcn","，使用方 ",[73,95,96],{},"import QtShadcn",[84,98,99,100,103,104],{},"组件命名带 ",[73,101,102],{},"Shadcn"," 前缀（避免与 QQC 基类同名冲突），文件放 ",[73,105,106],{},"src\u002Fqml\u002FComponents\u002F",[84,108,109,110,113,114],{},"新增组件需加进 ",[73,111,112],{},"src\u002FCMakeLists.txt"," 的 ",[73,115,116],{},"QML_FILES",[84,118,119,120,123],{},"组件内部统一 ",[73,121,122],{},"import QtQuick.Controls.Basic","（style-specific import 是 token 自绘的前提，锁定 Basic style）",[76,125,127],{"id":126},"c-能力层核心原则qml-管-uic-管能力","C++ 能力层（核心原则：QML 管 UI，C++ 管能力）",[129,130,131,146],"table",{},[132,133,134],"thead",{},[135,136,137,141,144],"tr",{},[138,139,140],"th",{},"模块",[138,142,143],{},"职责",[138,145,31],{},[147,148,149,163,180,193],"tbody",{},[135,150,151,157,160],{},[152,153,154],"td",{},[73,155,156],{},"ThemeManager",[152,158,159],{},"token 字典、mode 切换、主题持久化",[152,161,162],{},"M1 ✅",[135,164,165,170,177],{},[152,166,167],{},[73,168,169],{},"IconRegistry",[152,171,172,173,176],{},"svg 图标注册 + currentColor 替换渲染，",[73,174,175],{},"image:\u002F\u002Ficons\u002Fname?color=..."," 动态变色",[152,178,179],{},"M4",[135,181,182,187,190],{},[152,183,184],{},[73,185,186],{},"Models",[152,188,189],{},"QAbstractListModel 基类，供 Table\u002FSelect 数据源",[152,191,192],{},"M5",[135,194,195,200,203],{},[152,196,197],{},[73,198,199],{},"WindowManager",[152,201,202],{},"多窗口\u002F原生窗口能力（可选）",[152,204,192],{},{"title":71,"searchDepth":206,"depth":206,"links":207},2,[208,209],{"id":78,"depth":206,"text":79},{"id":126,"depth":206,"text":127},"仓库目录结构与 QML 模块约定。","md",null,{},{"icon":29},{"title":26,"description":210},"v6-lTqRYtzuDEnsmn3faGubX3eZDcH4dT1p8f2rcW-M",[218,220],{"title":21,"path":22,"stem":23,"description":219,"icon":24,"children":-1},"主题接入与各组件用法示例。",{"title":31,"path":32,"stem":33,"description":221,"icon":34,"children":-1},"组件开发路线图与当前进度。",1787050744383]