3.7 KiB
3.7 KiB
配置文件编辑器 - 实现完成
📋 功能完成清单
✅ 配置编辑窗口实现 (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值 → QCheckBoxint值 → 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+, 直接打开编辑器
方式三: 独立脚本
python edit_config.py
🔧 技术实现
ConfigEditorWindow 类
- 继承
QDialog - 提供树形编辑界面
- 自定义委托 (
ConfigEditorDelegate) - 信号:
config_changed(dict)
ConfigEditorDelegate 类
- 自定义项委托
- 为不同类型创建合适的编辑器
- 处理数据读写转换
✨ 特点
-
用户友好
- 树形结构清晰直观
- 支持展开/折叠
- 实时修改反馈
-
安全可靠
- 自动备份原文件
- JSON 格式验证
- 异常处理完善
-
功能完整
- 支持所有 JSON 数据类型
- 智能编辑器选择
- 灵活的文件选择
-
易于维护
- 代码注释详细
- 函数职责单一
- 错误日志记录
📝 示例
编辑配置值
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 - 详细使用指南
- src/ui/config_editor.py - 源代码
- edit_config.py - 独立编辑脚本
🎓 后续扩展
可进一步添加的功能:
- 配置预设快速切换
- 配置验证规则定义
- 配置差异对比工具
- 配置历史版本管理
- 实时配置预览
📞 技术支持
如遇问题,请查看:
CONFIG_EDITOR_GUIDE.md故障排除章节- 应用日志文件 (
logs/目录) - 配置备份文件 (
*.json.bak)