Skip to content

GraphViz v1.3.0

Latest

Choose a tag to compare

@SiriLee SiriLee released this 01 Jul 10:31
· 8 commits to main since this release

v1.3.0 变更日志

新功能

  • 顶点着色算法 (#17):Welsh-Powell 贪心 + 回溯精确求解。≤30 顶点精确求色数,>30 顶点使用近似。GUI 按色类高亮顶点。
  • Dijkstra 多解支持 (#13):通过前驱 DAG + DFS 回溯枚举所有权重相等的最短路径(上限 50 条),GUI 提供上一条/下一条导航。
  • Help 菜单问题反馈入口:新增"提交问题反馈"菜单项,方便用户从应用内跳转 GitHub Issues。

修复

  • 符号输入 BUG (#18):"A"---"B" 等引号顶点名 + 无向边组合不再被误判为引号权重。parseOperator() 新增前瞻探测区分引号权重与引号右顶点。
  • 中文路径/文件名支持 (#12):所有文件 I/O 统一使用 QFile + QString 路径(Windows 宽字符 API),替换原有的窄字符串流。中文路径和文件名均可正常读写。
  • 更新检查器优化:新增频率限制守卫 + 每日自动检查上限,防止 GitHub API 限流。

改进

  • 顶点圆圈自适应大小 (#14):通过 QFontMetrics 测量标签文本宽度动态调整半径(20–80px 区间),长标签不再溢出圆圈。
  • 移除冗余底部按钮:Open/Undo/Redo 按钮已从底部栏移除(菜单和快捷键仍可用),界面更简洁。

文档

  • LLM 提示词模板 (#9):合并到 MANUAL.html,便携包内可直接查看。提示词覆盖完整图数据格式规范,支持多图输出(各自独立代码块)。
  • README & MANUAL 同步 v1.3.0:算法计数更新(10→11),补充顶点着色、Dijkstra 多解、自适应圆圈、问题反馈入口等文档说明。

测试方案

功能 操作 预期
顶点着色 打开无向图 → 选择"顶点着色" → 执行 顶点按色类着色,状态栏显示色数
Dijkstra 多解 输入含等权多路径的图 → Dijkstra → 上一条/下一条 导航切换不同等权路径
引号顶点 + 无向边 输入 "A"---"B" → 解析 正常解析,不报错
中文路径 .graph 文件放在中文路径下 → 打开/保存 正常读写
长节点名 创建顶点名 20+ 字符 → 解析 圆圈自动放大,文字不溢出
LLM 提示词 便携包内打开 MANUAL.html → LLM 提示词模板章节 内容完整,可直接复制
便携版 解压 GraphViz-v1.3.0-portable.zip → 运行 功能完整,无需安装 Qt

修改文件

CMakeLists.txt              # 版本 1.3.0
CMakePresets.json           # 启用 CMAKE_EXPORT_COMPILE_COMMANDS
README.md                   # v1.3.0 功能文档同步
include/GraphAlgorithm.h    # ColoringResult 结构体 + PathResult 多解字段
src/GraphAlgorithm.cpp      # 顶点着色 + Dijkstra 多解前驱 DAG + DFS 回溯
src/GraphParser.cpp         # parseOperator 前瞻探测修复引号权重误判
src/gui/GraphWidget.cpp     # 顶点圆圈自适应大小 + 着色高亮支持
src/gui/GraphWidget.h       # computeRadii + m_vertexRadii + 组件着色边开关
src/gui/MainWindow.cpp      # 顶点着色调度 + Dijkstra 多解导航 + 问题反馈菜单 + 移除冗余按钮
src/gui/MainWindow.h        # m_hasPathResult 字段
src/gui/UpdateChecker.cpp   # 频率限制守卫 + 每日检查上限
src/gui/UpdateChecker.h     # 新增限流成员变量
docs/MANUAL.html            # LLM 提示词模板 + v1.3.0 功能文档同步