Skip to content

1623947784/Bug-tracker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 

Repository files navigation

简易 Bug 追踪器 (Tkinter)

功能

  • 新增 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

使用说明

基础新增

  1. 在顶部表单输入“描述”,选择“优先级”“状态”。
  2. 点击“添加”写入列表;写入后表单自动重置。

编辑与更新

  1. 在表格中选中一行(或直接双击该行)。
  2. 点击“编辑选中”进入编辑模式:表单被填充,按钮文字变为“保存修改”。
  3. 修改后点击“保存修改”提交;若无字段变化则状态栏提示“无变化”。
  4. 编辑中若想取消,点击“重置表单”或重新选中其它条目再编辑。

标记完成 / 删除 / 清空

  • 标记完成:选中行 -> “标记完成”;若已是 Done 会提示无需重复。
  • 批量删除:在表格中用 Ctrl 或 Shift 多选多行 -> 点“删除选中” -> 确认。
  • 清空全部:点“清空全部”按钮 -> 二次确认;危险操作,执行前可先“导出 Markdown”做备份。

搜索 / 过滤

控件位于操作按钮下方:

  • 关键词:对“描述”字段进行大小写不敏感包含匹配,回车或点“搜索”生效。
  • 优先级筛选:下拉选择具体优先级或“全部”;更改即自动刷新。
  • 状态筛选:同上。
  • “清除过滤”按钮:一键恢复为全部列表。 状态栏会显示过滤操作反馈。

导出 Markdown

  1. 点击“导出 Markdown”按钮。
  2. 选择保存路径与文件名(默认带时间戳)。
  3. 会生成一个包含当前(已过滤后)Bug 列表的 Markdown 表格文件;若没有任何条目会询问是否仍导出空表。

数据持久化

  • 所有增删改操作立即写入同目录的 bugs.json
  • 程序关闭时再次尝试保存。
  • 直接手工编辑 bugs.json 后重新启动即可载入(注意保持合法 JSON 格式)。

快捷/交互提示

  • 双击表格行 = 进入编辑。
  • Ctrl / Shift + 点击 = 多选行(用于批量删除)。
  • 搜索关键词输入框按 Enter = 执行搜索。
  • 关闭窗口会自动保存,无需手工“保存”按钮。

错误与提示

  • 读取 JSON 失败:弹出警告并从空数据开始。
  • 保存失败:弹出错误对话框;可检查磁盘权限或只读属性。

典型工作流示例

  1. 添加多个 Bug。
  2. 使用关键词过滤定位特定问题。
  3. 编辑修改优先级或状态为 In Progress。
  4. 修复后标记为 Done 并导出 Markdown 发送给团队。
  5. 清除过滤查看整体剩余待处理项。

数据结构示例

[
  {
    "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 与主题

许可证

本示例代码自由使用与二次开发。

About

这是一个引入界面交互的简易bug追踪器,用于辅助测试bug

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors

Languages