- 新增 Bug:描述、优先级 (Low/Medium/High)、状态 (Open/In Progress/Done)
- 编辑与保存修改
- 标记完成 (状态设为 Done)
- 删除条目(支持多选批量删除)
- 一键清空全部条目(带二次确认)
- Treeview 表格展示所有条目(支持多选,Ctrl / Shift 组合选择)
- 导出为 Markdown 表格文件 (按钮:导出 Markdown)
- JSON 文件 (
bugs.json) 自动持久化 - 退出前自动保存
- 搜索/过滤功能:支持按关键词、优先级、状态组合过滤;输入框与下拉框及“搜索”“清除过滤”按钮。列表刷新时应用过滤。
确保系统已安装 Python 3.9+ (含 tkinter 模块,Windows / Mac 通常自带)。
python .\main.py首次运行会在同目录生成 bugs.json。
- 在顶部表单输入“描述”,选择“优先级”“状态”。
- 点击“添加”写入列表;写入后表单自动重置。
- 在表格中选中一行(或直接双击该行)。
- 点击“编辑选中”进入编辑模式:表单被填充,按钮文字变为“保存修改”。
- 修改后点击“保存修改”提交;若无字段变化则状态栏提示“无变化”。
- 编辑中若想取消,点击“重置表单”或重新选中其它条目再编辑。
- 标记完成:选中行 -> “标记完成”;若已是 Done 会提示无需重复。
- 批量删除:在表格中用 Ctrl 或 Shift 多选多行 -> 点“删除选中” -> 确认。
- 清空全部:点“清空全部”按钮 -> 二次确认;危险操作,执行前可先“导出 Markdown”做备份。
控件位于操作按钮下方:
- 关键词:对“描述”字段进行大小写不敏感包含匹配,回车或点“搜索”生效。
- 优先级筛选:下拉选择具体优先级或“全部”;更改即自动刷新。
- 状态筛选:同上。
- “清除过滤”按钮:一键恢复为全部列表。 状态栏会显示过滤操作反馈。
- 点击“导出 Markdown”按钮。
- 选择保存路径与文件名(默认带时间戳)。
- 会生成一个包含当前(已过滤后)Bug 列表的 Markdown 表格文件;若没有任何条目会询问是否仍导出空表。
- 所有增删改操作立即写入同目录的
bugs.json。 - 程序关闭时再次尝试保存。
- 直接手工编辑
bugs.json后重新启动即可载入(注意保持合法 JSON 格式)。
- 双击表格行 = 进入编辑。
- Ctrl / Shift + 点击 = 多选行(用于批量删除)。
- 搜索关键词输入框按 Enter = 执行搜索。
- 关闭窗口会自动保存,无需手工“保存”按钮。
- 读取 JSON 失败:弹出警告并从空数据开始。
- 保存失败:弹出错误对话框;可检查磁盘权限或只读属性。
- 添加多个 Bug。
- 使用关键词过滤定位特定问题。
- 编辑修改优先级或状态为 In Progress。
- 修复后标记为 Done 并导出 Markdown 发送给团队。
- 清除过滤查看整体剩余待处理项。
[
{
"id": 1,
"description": "示例 Bug",
"priority": "High",
"status": "Open",
"created_at": "2025-08-09T10:00:00",
"updated_at": "2025-08-09T10:00:00"
}
]- 增加标签 (tags) 字段
- 增加按优先级或状态统计汇总
- 用
logging记录操作日志 - 加入单元测试(将数据层拆分为独立模块)
- 升级为 PySide6 / PyQt6 以支持更丰富 UI 与主题
本示例代码自由使用与二次开发。