# 配置文件编辑器功能说明 ## 功能概述 配置文件编辑器是一个专业的 JSON 配置管理工具,支持对项目配置文件的可视化编辑、验证和保存。 ## 主要特性 ### 1. 树形结构编辑 - **分层显示**: 使用树形结构清晰展示 JSON 的嵌套关系 - **节点展开/折叠**: 可自由展开或折叠节点以查看/隐藏配置项 - **路径追踪**: 每个配置项都记录其完整路径 ### 2. 智能编辑器 - **类型感知**: 根据值的类型自动选择合适的编辑控件 - `bool` 类型: 复选框 - `int` 类型: 整数输入框,范围 -2147483648 到 2147483647 - `float` 类型: 浮点数输入框,精度 6 位小数 - `str` 类型: 文本输入框 - **实时编辑**: 在表格中直接编辑配置值 ### 3. 数据验证 - **JSON 格式验证**: 保存前自动验证 JSON 格式的有效性 - **类型检查**: 确保编辑的值类型正确 ### 4. 文件管理 - **自动备份**: 保存时自动创建 `.bak` 备份文件 - **修改跟踪**: 实时跟踪配置是否被修改 - **重新加载**: 支持放弃修改并重新加载原文件 ## 使用方法 ### 方式一:通过主窗口菜单 1. 打开采集箱出厂测试工具 2. 点击菜单栏 "工具" → "编辑配置文件" 3. 在文件选择对话框中选择要编辑的配置文件 4. 编辑完成后点击 "保存" ### 方式二:直接运行编辑器 ```bash # 编辑主配置文件 python edit_config.py ``` ## 界面说明 ### 树形表格 - **左列(键)**: 显示配置项的名称或索引 - 分支节点(蓝色粗体)表示子配置项 - 叶子节点表示实际的配置值 - **右列(值)**: 显示或编辑配置值 - 点击单元格可进行编辑 - 编辑器类型根据值类型自动选择 ### 操作按钮 - **重新加载**: 放弃当前修改,从文件重新加载原配置 - **保存**: 将修改保存到文件,并创建备份 - **取消**: 关闭编辑器,放弃所有修改 ## 配置文件路径 - **主配置文件**: `config/config.json` - **测试项配置**: `config/test_items.json` ## 配置项说明 ### config.json ```json { "application": { "name": "应用名称", "version": "版本号", "company": "公司名", "language": "语言设置" }, "serial": { "default_baudrate": 115200, // 串口波特率 "default_timeout": 1.0, // 超时时间(秒) "auto_detect_ports": true, // 自动检测端口 "retry_count": 3 // 重试次数 }, "ssh": { "default_username": "torizon", // 默认用户名 "default_port": 22, // SSH 端口 "connection_timeout": 10, // 连接超时(秒) "keepalive_interval": 30 // 保活间隔(秒) }, "network": { "eth0": { ... }, "eth1": { ... } } } ``` ### test_items.json ```json { "test_items": [ { "id": 1, "name": "测试项名称", "description": "测试项描述", "category": "测试类别", "command": "执行命令", "timeout": 30, // 超时时间(秒) "is_required": true, // 是否必需 "sort_order": 1 // 排序顺序 } ] } ``` ## 常见操作 ### 修改串口波特率 1. 选择 "工具" → "编辑配置文件" 2. 选择 `config/config.json` 3. 展开 "serial" 节点 4. 在 "default_baudrate" 行输入新值 5. 点击 "保存" ### 添加或修改测试项 1. 选择 "工具" → "编辑配置文件" 2. 选择 `config/test_items.json` 3. 展开 "test_items" 节点 4. 修改现有项的值 5. 点击 "保存" ## 注意事项 ⚠️ **重要**: 1. **备份文件**: 修改前会自动创建 `.bak` 备份文件,修改出错可从备份恢复 2. **JSON 格式**: 确保编辑后的配置仍符合 JSON 格式,否则无法保存 3. **重启应用**: 某些配置修改可能需要重启应用才能生效 4. **权限**: 确保对配置文件有读写权限 5. **类型匹配**: 修改值时注意保持原有的数据类型 ## 快捷键 - `Ctrl+,` - 打开配置编辑器 ## 故障排除 ### 无法打开编辑器 - 确保配置文件存在且格式正确 - 检查文件权限 ### 修改无法保存 - 检查 JSON 格式是否正确 - 查看控制台错误日志 - 尝试重新加载后重新修改 ### 修改后配置未生效 - 检查是否正确选择并保存了配置文件 - 重启应用程序 - 查看配置项名称是否与代码中的引用匹配 ## 技术细节 ### 类型检测 编辑器自动检测并转换数据类型: - Python `bool` ↔ JSON `true/false` - Python `int` ↔ JSON `number` (整数) - Python `float` ↔ JSON `number` (浮点数) - Python `str` ↔ JSON `string` ### 备份机制 保存配置时: 1. 读取原文件内容 2. 将原内容保存到 `filename.json.bak` 3. 将新配置写入原文件 4. 如果写入失败,用备份文件恢复 ## 相关文件 - `src/ui/config_editor.py` - 编辑器实现 - `config/config.json` - 主配置文件 - `config/test_items.json` - 测试项配置