--- id: T-668 title: AI生成图片画廊仅响应左键双击 status: TODO phase: 7 deps: [] created: 2026-07-20 --- # T-668 AI生成图片画廊仅响应左键双击 ## 问题 / 背景 ②「AI生成」任务列表当前直接把 `QTableView.doubleClicked` 连接到封面画廊打开逻辑。该信号只传递单元格索引,不携带鼠标按键;右键双击命中任务行时也会触发同一回调,意外弹出图片查看窗口。右键应保留给未来的右键菜单或保持无操作,不能打开画廊。 ## 方案 - 在 `app/gui/tabs/generate.py` 为②任务表增加局部的左键双击事件入口:从原始鼠标双击事件读取 `event.button()`,仅当按键为 `Qt.LeftButton` 时取得命中行并调用现有 `show_task_images()`。 - 移除 `task_table.doubleClicked.connect(self.show_task_images)` 这条通用信号连接,避免表格默认双击信号绕过按键判断;不修改其他模块的表格双击行为。 - 右键双击继续交给 Qt 的默认事件处理,但不得打开图片画廊、不得修改当前生成结果、不得显示错误提示。键盘切换行、单击选中行和新标题编辑列的既有逻辑保持不变。 - 将②任务列表相关提示文案明确为「左键双击」,避免用户误以为任何双击都会打开画廊。 ## 验收标准 - [ ] 左键双击②任务列表的非新标题编辑列时,仍打开当前行的封面图片画廊。 - [ ] 右键双击同一行或空白区域时,不打开图片画廊、不保存或重置任何数据。 - [ ] 新标题编辑列继续不打开图片画廊;单击选中、键盘上下切换、封面候选图保存及③更新蝦皮不回归。 - [ ] `tests/test_gui.py` 覆盖左键双击会调用预览、右键双击不会调用预览。 ## 验证 ```bash py -3.10 -m unittest discover -s tests -p "test_gui.py" py -3.10 -m ruff check app tests main.py py -3.10 -m compileall app main.py git diff --check ``` ## 非目标 - 不新增右键菜单、批量操作或快捷键。 - 不改数据库、AI 生成、图片下载、CDP/Shopee、Excel 或③更新流程。 ## 执行记录 - 待实现。