docs: 切换 GUI 选型为 PySide6

This commit is contained in:
chengma
2026-06-26 16:09:09 +08:00
parent ccb4d52d9f
commit 92735ae7a4
11 changed files with 90 additions and 34 deletions
+11 -9
View File
@@ -1,6 +1,6 @@
# 界面与流程结构
> 桌面工具,无前端路由。用 **5 Tab GUI(Tkinter `ttk.Notebook`)+ 流水线** 约定界面职责与导航。
> 桌面工具,无前端路由。用 **5 Tab GUI(PySide6 `QMainWindow` + `QTabWidget`)+ 流水线** 约定界面职责与导航。
## Tab 顺序与职责(工作流优先)
@@ -132,15 +132,17 @@
- 已生成的任务即可进 ③;③ 用户确认批量弹窗后提交线上,无常驻提交开关。
- 任意步骤失败:记入该任务、日志标明,不影响其他任务。
## 组件建议(Tkinter)
## 组件建议(PySide6)
| 组件 | 归属 | 说明 |
| --- | --- | --- |
| `MainNotebook` | 根窗口 | 5 个 Tab |
| `CollectTab` | ① | 导入、任务表、采集、回写 |
| `GenerateTab` | ② | 左提示词 + 右筛选/任务列表、双击看新旧封面、开始生成 |
| `ApplyTab` | ③ | 已生成任务、开始更新确认、换标题+封面+提交、回写 |
| `AccountsTab` | ④ | 账号增删改、启动登录 |
| `SettingsTab` | ⑤ | AI/目录/Chrome 配置 |
| `MainWindow(QMainWindow)` | 根窗口 | 持有 `QTabWidget`、状态栏、全局消息 |
| `CollectTab(QWidget)` | ① | 导入、任务表、采集、回写 |
| `GenerateTab(QWidget)` | ② | 左提示词 + 右筛选/任务列表、双击看新旧封面、开始生成 |
| `ApplyTab(QWidget)` | ③ | 已生成任务、开始更新确认、换标题+封面+提交、回写 |
| `AccountsTab(QWidget)` | ④ | 账号增删改、启动登录 |
| `SettingsTab(QWidget)` | ⑤ | AI/目录/Chrome 配置 |
| `TaskTableModel(QAbstractTableModel)` | ①②③ | 任务表格数据模型,供 `QTableView` 使用 |
| `BaseWorker(QObject)` | 后台 | 定义 `progress/log/row_updated/failed/finished/cancelled` signals |
> 采集、生成、更新都是耗时操作,放后台线程,避免界面卡死。
> 采集、生成、更新都是耗时操作,使用 `QObject` worker + `QThread`。Worker 不直接操作 QWidget,只通过 signal 通知主线程刷新 UI。