2025-12-22 09:29:18 +00:00
|
|
|
|
Config Editor - 配置文件编辑工具
|
|
|
|
|
|
一个基于PyQt6开发的Python配置文件可视化编辑工具,支持自动解析Python配置文件中的大写变量,提供直观的GUI界面进行编辑和管理。
|
|
|
|
|
|
|
|
|
|
|
|
✨ 特性功能
|
|
|
|
|
|
🎯 核心功能
|
|
|
|
|
|
智能解析:自动扫描Python文件,识别文件中的变量配置项
|
|
|
|
|
|
|
|
|
|
|
|
可视化编辑:基于PyQt6的现代化GUI界面,支持多种数据类型编辑
|
|
|
|
|
|
|
|
|
|
|
|
分组管理:可自定义分组,按类别组织配置项
|
|
|
|
|
|
|
|
|
|
|
|
格式保持:保存时保持原始文件格式、注释和缩进
|
|
|
|
|
|
|
|
|
|
|
|
🔧 编辑支持
|
|
|
|
|
|
多种数据类型:
|
|
|
|
|
|
|
|
|
|
|
|
布尔值(CheckBox)
|
|
|
|
|
|
|
|
|
|
|
|
整数/浮点数(SpinBox)
|
|
|
|
|
|
|
|
|
|
|
|
字符串(LineEdit/TextEdit)
|
|
|
|
|
|
|
|
|
|
|
|
JSON/字典/列表(格式化编辑)
|
|
|
|
|
|
|
|
|
|
|
|
校验规则:
|
|
|
|
|
|
|
|
|
|
|
|
必填项验证
|
|
|
|
|
|
|
|
|
|
|
|
数值范围限制
|
|
|
|
|
|
|
|
|
|
|
|
正则表达式匹配
|
|
|
|
|
|
|
|
|
|
|
|
自定义错误提示
|
|
|
|
|
|
|
|
|
|
|
|
📊 管理功能
|
|
|
|
|
|
显示定制:自定义每个配置项的显示名称和提示信息
|
|
|
|
|
|
|
|
|
|
|
|
字段隐藏:标记隐藏字段,支持显示/隐藏切换
|
|
|
|
|
|
|
|
|
|
|
|
类型推断:自动识别字段类型,支持手动覆盖
|
|
|
|
|
|
|
|
|
|
|
|
规则管理:独立的规则管理界面,支持批量配置
|
|
|
|
|
|
|
|
|
|
|
|
🚀 快速开始
|
|
|
|
|
|
环境要求
|
|
|
|
|
|
Python 3.8+
|
|
|
|
|
|
|
|
|
|
|
|
PyQt6
|
|
|
|
|
|
|
|
|
|
|
|
构建打包
|
|
|
|
|
|
执行build.sh脚本
|
|
|
|
|
|
|
|
|
|
|
|
安装部署
|
2025-12-22 10:01:41 +00:00
|
|
|
|
|
|
|
|
|
|
```bash
|
2025-12-22 09:29:18 +00:00
|
|
|
|
1.sudo apt install python3.12-venv python3-venv
|
2025-12-22 10:01:41 +00:00
|
|
|
|
|
2025-12-22 09:29:18 +00:00
|
|
|
|
2.sudo dpkg -i config-editor_1.0_amd64.deb
|
2025-12-22 10:01:41 +00:00
|
|
|
|
|
2025-12-22 09:29:18 +00:00
|
|
|
|
3.sudo /usr/share/config-editor/setup_venv.sh
|
2025-12-22 10:01:41 +00:00
|
|
|
|
```
|
|
|
|
|
|
|
2025-12-22 09:29:18 +00:00
|
|
|
|
在服务器图形化界面,搜索Config Editor点击即可使用
|
2025-12-23 05:55:26 +00:00
|
|
|
|
(若部署成功,点击config-editor图标无响应,则考虑是不是服务器缺少qt需要的图表光标展示组件x11,执行安装 sudo apt install -y libxcb-cursor0 libxcb-xinerama0 libxcb-randr0 libxcb-xfixes0 libxcb-shape0 libxcb-keysyms1 libxcb-image0 libxcb-icccm4 libxcb-render-util0 libxcb-xkb1 libxkbcommon-x11-0 libxkbcommon0)
|
2025-12-22 10:01:41 +00:00
|
|
|
|
|
2025-12-22 09:29:18 +00:00
|
|
|
|
卸载程序
|
2025-12-22 10:01:41 +00:00
|
|
|
|
|
2025-12-22 09:29:18 +00:00
|
|
|
|
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格式存储
|
|
|
|
|
|
|
|
|
|
|
|
支持相对路径和绝对路径
|
|
|
|
|
|
|
|
|
|
|
|
自动保存用户设置
|
|
|
|
|
|
|
|
|
|
|
|
📝 使用示例
|
|
|
|
|
|
编辑配置文件
|
|
|
|
|
|
启动程序,选择配置文件
|
|
|
|
|
|
|
|
|
|
|
|
在对应的分组中找到要修改的配置项
|
|
|
|
|
|
|
|
|
|
|
|
编辑值(复选框、数字框、文本框等)
|
|
|
|
|
|
|
|
|
|
|
|
点击"保存配置"按钮
|
|
|
|
|
|
|
|
|
|
|
|
确认变更后,程序会自动更新配置文件
|
|
|
|
|
|
|
|
|
|
|
|
自定义规则
|
|
|
|
|
|
点击"管理规则"按钮
|
|
|
|
|
|
|
|
|
|
|
|
在左侧列表选择配置项
|
|
|
|
|
|
|
|
|
|
|
|
在右侧设置显示名称、分组、类型等
|
|
|
|
|
|
|
|
|
|
|
|
设置校验规则(可选)
|
|
|
|
|
|
|
2025-12-03 07:42:43 +00:00
|
|
|
|
保存规则,程序会自动重新加载界面
|