216 lines
4.9 KiB
Markdown
216 lines
4.9 KiB
Markdown
Config Editor - 配置文件编辑工具
|
||
一个基于PyQt6开发的Python配置文件可视化编辑工具,支持自动解析Python配置文件中的大写变量,提供直观的GUI界面进行编辑和管理。
|
||
|
||
✨ 特性功能
|
||
🎯 核心功能
|
||
智能解析:自动扫描Python文件,识别文件中的变量配置项
|
||
|
||
可视化编辑:基于PyQt6的现代化GUI界面,支持多种数据类型编辑
|
||
|
||
分组管理:可自定义分组,按类别组织配置项
|
||
|
||
格式保持:保存时保持原始文件格式、注释和缩进
|
||
|
||
🔧 编辑支持
|
||
多种数据类型:
|
||
|
||
布尔值(CheckBox)
|
||
|
||
整数/浮点数(SpinBox)
|
||
|
||
字符串(LineEdit/TextEdit)
|
||
|
||
JSON/字典/列表(格式化编辑)
|
||
|
||
校验规则:
|
||
|
||
必填项验证
|
||
|
||
数值范围限制
|
||
|
||
正则表达式匹配
|
||
|
||
自定义错误提示
|
||
|
||
📊 管理功能
|
||
显示定制:自定义每个配置项的显示名称和提示信息
|
||
|
||
字段隐藏:标记隐藏字段,支持显示/隐藏切换
|
||
|
||
类型推断:自动识别字段类型,支持手动覆盖
|
||
|
||
规则管理:独立的规则管理界面,支持批量配置
|
||
|
||
🚀 快速开始
|
||
环境要求
|
||
Python 3.8+
|
||
|
||
PyQt6
|
||
|
||
构建打包
|
||
执行build.sh脚本
|
||
|
||
安装部署
|
||
|
||
```bash
|
||
1.sudo apt install python3.12-venv python3-venv
|
||
|
||
2.sudo dpkg -i config-editor_1.0_amd64.deb
|
||
|
||
3.sudo /usr/share/config-editor/setup_venv.sh
|
||
```
|
||
|
||
在服务器图形化界面,搜索Config Editor点击即可使用
|
||
|
||
卸载程序
|
||
|
||
bash
|
||
1.sudo dpkg -r config-editor
|
||
📁 项目结构
|
||
text
|
||
config_editor/
|
||
├── config_editor.py # 主程序
|
||
├── config_editor_rules.json # 规则配置文件
|
||
├── config_editor_settings.json # 用户设置文件
|
||
├── build.sh # 一键打包脚本
|
||
├── CHANGELOG.md # 变更日志
|
||
└── README.md # 说明文档
|
||
配置文件说明
|
||
config_editor_rules.json:存储所有配置项的元数据(分组、显示名、校验规则等)
|
||
|
||
config_editor_settings.json:存储用户设置(最近使用的配置文件路径等)
|
||
|
||
🖥️ 使用指南
|
||
1. 首次运行
|
||
首次启动程序时,会自动弹出配置文件设置对话框:
|
||
|
||
选择要编辑的Python配置文件
|
||
|
||
程序会自动解析配置文件中的大写变量
|
||
|
||
2. 界面布局
|
||
顶部信息栏:显示当前配置文件的路径
|
||
|
||
标签页:按分组显示配置项
|
||
|
||
编辑区域:每个配置项包含:
|
||
|
||
显示名称(可自定义)
|
||
|
||
编辑控件(根据类型自动适配)
|
||
|
||
变量名(原始名称)
|
||
|
||
工具栏:常用操作按钮
|
||
|
||
3. 基本操作
|
||
打开文件:使用菜单或按钮打开其他配置文件
|
||
|
||
编辑配置:直接在对应的控件中修改值
|
||
|
||
保存配置:保存修改到原配置文件
|
||
|
||
重新加载:放弃修改,重新读取配置文件
|
||
|
||
4. 高级功能
|
||
规则管理
|
||
点击"管理规则"按钮进入规则管理界面:
|
||
|
||
字段属性:设置显示名称、分组、类型、提示信息等
|
||
|
||
校验规则:设置最小值、最大值、正则表达式、必填项
|
||
|
||
分组管理:添加、删除分组,调整字段分组
|
||
|
||
字段筛选
|
||
搜索功能:快速查找配置项
|
||
|
||
隐藏字段:支持显示/隐藏被标记为隐藏的配置项
|
||
|
||
⚙️ 配置规则详解
|
||
分组配置
|
||
json
|
||
"categories": {
|
||
"数据库配置": ["DB_HOST", "DB_PORT"],
|
||
"应用配置": ["DEBUG_MODE", "LOG_LEVEL"]
|
||
}
|
||
字段属性
|
||
json
|
||
"display_names": {
|
||
"DB_HOST": "数据库主机地址"
|
||
},
|
||
"field_types": {
|
||
"DB_PORT": "int"
|
||
},
|
||
"tooltips": {
|
||
"DB_HOST": "请输入数据库服务器的IP地址或域名"
|
||
}
|
||
校验规则
|
||
json
|
||
"validations": {
|
||
"DB_PORT": {
|
||
"required": true,
|
||
"min": "1024",
|
||
"max": "65535",
|
||
"regex": "^[0-9]+$"
|
||
}
|
||
}
|
||
🎨 支持的Python配置文件格式
|
||
程序可以解析以下格式的配置:
|
||
|
||
python
|
||
# 配置文件示例 config.py
|
||
DB_HOST = "localhost" # 数据库地址
|
||
DB_PORT = 3306 # 数据库端口
|
||
DEBUG_MODE = True # 调试模式
|
||
MAX_CONNECTIONS = 100 # 最大连接数
|
||
要求:
|
||
|
||
配置变量名必须为大写字母和下划线组成
|
||
|
||
支持Python基本数据类型(字符串、数字、布尔值、列表、字典)
|
||
|
||
🔍 技术实现
|
||
解析技术
|
||
使用Python的ast模块进行语法分析
|
||
|
||
精确识别配置项的位置和注释
|
||
|
||
保持原始格式和缩进
|
||
|
||
GUI框架
|
||
基于PyQt6构建现代化界面
|
||
|
||
响应式布局,支持调整窗口大小
|
||
|
||
自定义控件适配不同数据类型
|
||
|
||
数据持久化
|
||
规则配置使用JSON格式存储
|
||
|
||
支持相对路径和绝对路径
|
||
|
||
自动保存用户设置
|
||
|
||
📝 使用示例
|
||
编辑配置文件
|
||
启动程序,选择配置文件
|
||
|
||
在对应的分组中找到要修改的配置项
|
||
|
||
编辑值(复选框、数字框、文本框等)
|
||
|
||
点击"保存配置"按钮
|
||
|
||
确认变更后,程序会自动更新配置文件
|
||
|
||
自定义规则
|
||
点击"管理规则"按钮
|
||
|
||
在左侧列表选择配置项
|
||
|
||
在右侧设置显示名称、分组、类型等
|
||
|
||
设置校验规则(可选)
|
||
|
||
保存规则,程序会自动重新加载界面 |