快速开始
里程碑
组件开发路线图与当前进度。
| 阶段 | 内容 | 状态 |
|---|---|---|
| M0 | 仓库骨架:根 CMakeLists + src/qml 模块 + src/core + showcase 空应用 | ✅ 完成 |
| M1 | Theme 基础层:C++ ThemeManager + light/dark tokens + QtShadcnTheme + showcase 色板页 | ✅ 完成 |
| M2 | Button 组件(variant / size / disabled / loading) | ✅ 完成 |
| M3 | Card / Input / Badge / Switch / Tabs / Dialog + 表单控件(Textarea / Checkbox / RadioGroup / Slider / Progress / Select / InputGroup) | ✅ 完成 |
| M4 | Icon 系统 + Animations | 🔄 进行中(Icon ✅ / Animations ⏳) |
| M5 | C++ Models / Table(WindowManager 延后) | 🔄 进行中(Models+Table ✅) |
| M6 | 文档站完善 + README + 发布 | 🔄 进行中 |
每个里程碑独立可构建、可运行验证(showcase 承载)。
组件计划(GitHub issues #1-10)
每批一个组件,对应一个 GitHub issue,实现完关闭对应 issue。见 组件开发流程。
当前已落地组件
| 组件 | 说明 |
|---|---|
QtShadcnTheme | 声明式主题入口(M1) |
ShadcnButton | 6 variant × 5 size,loading / 键盘焦点环(M2) |
ShadcnButtonGroup | 按钮组:合并边框 + 分隔线 |
ShadcnToggle / ShadcnToggleGroup | 切换按钮,支持 exclusive 单选 |
ShadcnSpinner | 加载指示器(Button loading 内部使用) |
ShadcnCard | 纯组合组件:CardHeader / Content / Footer,size default/sm(M3) |
ShadcnInput | 基于 QQC.TextField:36px 高 + 6px 圆角 + 聚焦环 |
ShadcnBadge | 6 variant,胶囊形,destructive 透明底红字(v4) |
ShadcnSwitch | 44×20 / 28×16 双尺寸,胶囊轨道 + 滑块动画 |
ShadcnTabs | TabsList + TabsTrigger + TabsContent,default/line 双 variant |
ShadcnDialog | 居中 448px + 阴影 + fade/zoom 动画 + 自定义 header/footer |
ShadcnIcon | lucide 图标:本地精选 74 个 + 远程兜底(CDN 拉取 + 磁盘缓存),随主题变色(M4) |
IconRegistry | C++ 图标注册表:qrc 加载 + 远程下载 + 缓存,dataUrl(name, color) 供 QML 直接用 |
ShadcnTextarea | 基于 QQC.TextArea:min-h 64 + 6px 圆角 + 聚焦环(M3 收尾) |
ShadcnCheckbox | 16px + rounded 5px,选中 primary 底 + check 图标 |
ShadcnRadio / ShadcnRadioGroup | 16px 正圆单选组,primary 底 + 内圆点 |
ShadcnSlider | 8px 轨道 + primary range + 白色胶囊 thumb(hover/focus ring) |
ShadcnProgress | 12px muted 轨道 + primary 指示条(宽度动画,可选百分比) |
ShadcnSelect | 基于 QQC.ComboBox:36px trigger + chevron-down + popover 弹层(hover accent / 选中 check) |
ShadcnInputGroup | 输入框前缀/后缀(icon 或文本),padding 自动让位 |
ShadcnAvatar | 头像:图片 / 文字首字母兜底,size 可选(M4 同期补充) |
ShadcnStatusDot | 状态点:色 + 可选 pulse 动画,标注在线/离线/忙碌等(M4 同期补充) |
ShadcnTable | |
ShadcnTableModel | |
ShadcnSeparator | |
ShadcnLabel | |
ShadcnTooltip | |
ShadcnAlert | |
ShadcnSkeleton | |
ShadcnKbd | |
ShadcnDropdownMenu |
