PTT/CONFIG_EDITOR_COMPLETE.md

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 值 → 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+, 直接打开编辑器

方式三: 独立脚本

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 (存在)

📚 相关文档

🎓 后续扩展

可进一步添加的功能:

  • 配置预设快速切换
  • 配置验证规则定义
  • 配置差异对比工具
  • 配置历史版本管理
  • 实时配置预览

📞 技术支持

如遇问题,请查看:

  1. CONFIG_EDITOR_GUIDE.md 故障排除章节
  2. 应用日志文件 (logs/ 目录)
  3. 配置备份文件 (*.json.bak)