gaozheng
|
959f030c98
|
feat(ui): 表单渲染单一真相层(formkit)+只读渲染器(KeyValueView),统一编辑/只读/详情表单
把分散在各文件手搭的表单收敛到唯一实现,杜绝"同类控件各处不一"的漂移:
- 新增 FormKit(DetailForm/buildDetailDialog + makeEditForm/editLabel/capField/addSection)
- 新增 KeyValueView 为唯一只读键值渲染器(§6.4);DynamicFormView 改为内嵌它
- 三维体/切片/异常详情对话框由裸 QFormLayout 迁到 DetailForm+KeyValueView(随内容自适应)
- 生成三维体对话框 + DynamicFormEditor 改用 formkit 可编辑套件(标签列/行距/分组逐像素一致)
- 分组标题统一为 formkit::addSection(编辑态与只读态共用同一段代码)
控件一致性:
- 下拉框/日期框扁平 chevron 箭头(qrc 内嵌 SVG),去 Fusion 原生斜角;日期框补齐输入框同款 box
- 无候选项的"选择"字段退化为 QLineEdit,不再用几何异类的可编辑下拉框
- QComboBox/QDateEdit/QTimeEdit min-height/padding 与 QLineEdit 对齐 → 同高
规范:§7.0.2 标签列宽由区间改精确常量(可编辑100/只读72);新增 §7.0.10 实现纪律
(唯一实现、禁手搭 QFormLayout、精确常量、控件构造一致性、新表单并排验收)
|
2026-06-23 07:28:48 +08:00 |
gaozheng
|
9010b20b57
|
refactor(ui): 方案A — 移除 ElaWidgetTools,统一为标准 Qt + 单一设计系统
根因: 此前 Fusion+自定义QSS+ElaWidgetTools(自绘控件) 三套样式系统并存、互相打架,
是各种丑/不一致的来源。本次彻底收敛为一套:
- 移除 ElaWidgetTools 依赖(CMake FetchContent + 链接 + spike);所有 Ela* 控件 → 标准 Qt:
ElaWindow→QMainWindow(原生标题栏)、ElaMenu/MenuBar→QMenu/QMenuBar、ElaLineEdit/ComboBox/
CheckBox/PushButton/ToolButton/Text/TableWidget→对应 Qt、ElaIconButton→QToolButton+glyph
- 主题系统: 自建 ThemeManager(替代 ElaTheme,QStyleHints 检测系统明暗、持久化、changed 信号热切)
+ 单一「浅→暗」颜色映射(kDarkMap,全 UI 唯一颜色来源) + 单份 QSS(明色基线,暗色按表替换)
- 主题: 跟随系统/浅/深(持久化, 启动应用→登录与主页统一); 字号缩放经 scaledPx 覆盖内联 chrome
- NOTICE/关于 同步去掉 ElaWidgetTools
- ctest 53/53
|
2026-06-10 14:44:59 +08:00 |