PTT/CONFIG_EDITOR_COMPLETE.md

171 lines
3.7 KiB
Markdown

# 配置文件编辑器 - 实现完成
## 📋 功能完成清单
**配置编辑窗口实现** (`src/ui/config_editor.py`)
- 树形 JSON 编辑器
- 智能类型感知编辑器 (bool, int, float, str)
- JSON 格式验证
- 自动备份机制
- 修改跟踪
**主窗口集成** (`src/ui/main_window.py`)
- 菜单项集成: "工具" → "编辑配置文件"
- 快捷键: Ctrl+,
- 文件选择对话框
- 配置改变信号处理
**配置路径管理** (`src/utils/config.py`)
- 导出 `config_dir` 变量
- 便捷的配置文件访问
**文档与示例**
- `CONFIG_EDITOR_GUIDE.md` - 完整使用指南
- `edit_config.py` - 独立编辑器脚本
## 🎯 核心功能
### 1. 树形编辑
```
📁 application
├─ name: "采集箱出厂测试工具"
├─ version: "1.0.0"
└─ language: "zh_CN"
📁 serial
├─ default_baudrate: 115200
├─ default_timeout: 1.0
└─ auto_detect_ports: true
```
### 2. 智能编辑器
- `bool` 值 → QCheckBox
- `int` 值 → QSpinBox (范围: -2147483648 ~ 2147483647)
- `float` 值 → QDoubleSpinBox (精度: 6位小数)
- `str` 值 → QLineEdit
### 3. 数据保护
- 自动备份原文件 (`.json.bak`)
- JSON 格式验证
- 修改确认提示
## 📁 文件列表
新增文件:
- `src/ui/config_editor.py` - 编辑器主类 (397 行)
- `edit_config.py` - 独立编辑器脚本 (24 行)
- `CONFIG_EDITOR_GUIDE.md` - 使用指南
- `test_config_editor.py` - 测试脚本
修改文件:
- `src/ui/main_window.py` - 添加菜单项和编辑方法
- `src/utils/config.py` - 导出 config_dir
## 🚀 使用方式
### 方式一: 主窗口菜单
```
1. 打开应用
2. 点击 "工具" → "编辑配置文件"
3. 选择要编辑的 JSON 文件
4. 修改配置
5. 点击 "保存"
```
### 方式二: 快捷键
```
Ctrl+, 直接打开编辑器
```
### 方式三: 独立脚本
```bash
python edit_config.py
```
## 🔧 技术实现
### ConfigEditorWindow 类
- 继承 `QDialog`
- 提供树形编辑界面
- 自定义委托 (`ConfigEditorDelegate`)
- 信号: `config_changed(dict)`
### ConfigEditorDelegate 类
- 自定义项委托
- 为不同类型创建合适的编辑器
- 处理数据读写转换
## ✨ 特点
1. **用户友好**
- 树形结构清晰直观
- 支持展开/折叠
- 实时修改反馈
2. **安全可靠**
- 自动备份原文件
- JSON 格式验证
- 异常处理完善
3. **功能完整**
- 支持所有 JSON 数据类型
- 智能编辑器选择
- 灵活的文件选择
4. **易于维护**
- 代码注释详细
- 函数职责单一
- 错误日志记录
## 📝 示例
### 编辑配置值
```
1. 展开 "serial" 节点
2. 点击 "default_baudrate" 的值 (115200)
3. 在弹出的 QSpinBox 中输入新值
4. 按 Enter 或点击其他位置确认
5. 点击 "保存"
```
### 切换布尔值
```
1. 展开 "serial" 节点
2. 点击 "auto_detect_ports" 的值 (true)
3. 在弹出的 QCheckBox 中勾选或取消
4. 点击 "保存"
```
## 🔍 验证状态
✅ 编译检查: 通过
✅ 导入检查: 通过
✅ 配置文件检测: 通过
✅ 路径验证: 通过
```
d:\production_test_tool\config\config.json (存在)
d:\production_test_tool\config\test_items.json (存在)
```
## 📚 相关文档
- [CONFIG_EDITOR_GUIDE.md](CONFIG_EDITOR_GUIDE.md) - 详细使用指南
- [src/ui/config_editor.py](src/ui/config_editor.py) - 源代码
- [edit_config.py](edit_config.py) - 独立编辑脚本
## 🎓 后续扩展
可进一步添加的功能:
- [ ] 配置预设快速切换
- [ ] 配置验证规则定义
- [ ] 配置差异对比工具
- [ ] 配置历史版本管理
- [ ] 实时配置预览
## 📞 技术支持
如遇问题,请查看:
1. `CONFIG_EDITOR_GUIDE.md` 故障排除章节
2. 应用日志文件 (`logs/` 目录)
3. 配置备份文件 (`*.json.bak`)