Client 启动时默认最大化主窗口 #147

Closed
opened 2026-08-11 11:36:48 +08:00 by ila · 2 comments
Owner

基本信息

  • 类型:需求
  • 父级大工单:#1
  • 所属 MVP / 版本:#2
  • 阶段:Client 窗口体验

要解决什么

Client 当前启动后使用普通窗口尺寸显示。采购人员希望程序启动时直接最大化,减少每次手动点击最大化按钮。

做什么 / 不做什么

  • 做:Client 主窗口首次显示时使用最大化状态。
  • 做:保留最小化、还原、再次最大化和关闭等标准 Windows 窗口操作。
  • 做:保留现有最小尺寸和响应式布局。
  • 不做:不使用全屏模式,不隐藏 Windows 任务栏和标题栏。
  • 不做:不记忆或强制覆盖用户运行期间手动调整后的窗口状态。
  • 不做:不修改数据库、Admin、采集采购和自动更新逻辑。

已确认的实现方案

  • 修改 client/src/ui_main.py 的应用启动显示方式,将普通 show() 改为 showMaximized()。
  • 构造函数仍保持可离屏测试,不在窗口构造阶段强制显示。
  • 补充主窗口测试,确认启动函数使用最大化显示。
  • 更新 docs/client/05-ui-specification.md。

预计修改文件:

  • client/src/ui_main.py
  • 对应的 client/test/ 测试
  • docs/client/05-ui-specification.md

验收标准

  • 正常启动 Client 时主窗口处于最大化状态。
  • 最大化不是全屏,Windows 标题栏和任务栏行为保持正常。
  • 用户可以手动还原、调整大小、最小化和关闭窗口。
  • 离屏测试和 Client 全量测试通过。
  • 不影响任务、设备、Admin 和自动化流程。

验证方式

从 client/ 目录执行:

$env:QT_QPA_PLATFORM="offscreen"
C:/Python310/python.exe -m unittest discover -s test -p "test_pdd_ui_event.py" -v
C:/Python310/python.exe -m unittest discover -s test -p "test_*.py"
Remove-Item Env:QT_QPA_PLATFORM

人工执行 C:/Python310/python.exe buyer_main.py,确认启动最大化且可还原。

风险和回退

  • 最大化不同于全屏,必须继续使用标准 Windows 窗口框架。
  • 可回退本工单提交恢复普通窗口启动。
## 基本信息 - 类型:需求 - 父级大工单:#1 - 所属 MVP / 版本:#2 - 阶段:Client 窗口体验 ## 要解决什么 Client 当前启动后使用普通窗口尺寸显示。采购人员希望程序启动时直接最大化,减少每次手动点击最大化按钮。 ## 做什么 / 不做什么 - 做:Client 主窗口首次显示时使用最大化状态。 - 做:保留最小化、还原、再次最大化和关闭等标准 Windows 窗口操作。 - 做:保留现有最小尺寸和响应式布局。 - 不做:不使用全屏模式,不隐藏 Windows 任务栏和标题栏。 - 不做:不记忆或强制覆盖用户运行期间手动调整后的窗口状态。 - 不做:不修改数据库、Admin、采集采购和自动更新逻辑。 ## 已确认的实现方案 - 修改 `client/src/ui_main.py` 的应用启动显示方式,将普通 `show()` 改为 `showMaximized()`。 - 构造函数仍保持可离屏测试,不在窗口构造阶段强制显示。 - 补充主窗口测试,确认启动函数使用最大化显示。 - 更新 `docs/client/05-ui-specification.md`。 预计修改文件: - `client/src/ui_main.py` - 对应的 `client/test/` 测试 - `docs/client/05-ui-specification.md` ## 验收标准 - [x] 正常启动 Client 时主窗口处于最大化状态。 - [x] 最大化不是全屏,Windows 标题栏和任务栏行为保持正常。 - [x] 用户可以手动还原、调整大小、最小化和关闭窗口。 - [x] 离屏测试和 Client 全量测试通过。 - [x] 不影响任务、设备、Admin 和自动化流程。 ## 验证方式 从 `client/` 目录执行: ```powershell $env:QT_QPA_PLATFORM="offscreen" C:/Python310/python.exe -m unittest discover -s test -p "test_pdd_ui_event.py" -v C:/Python310/python.exe -m unittest discover -s test -p "test_*.py" Remove-Item Env:QT_QPA_PLATFORM ``` 人工执行 `C:/Python310/python.exe buyer_main.py`,确认启动最大化且可还原。 ## 风险和回退 - 最大化不同于全屏,必须继续使用标准 Windows 窗口框架。 - 可回退本工单提交恢复普通窗口启动。
Author
Owner

实施完成,待用户验收

Client 启动入口已改为使用标准 Windows 最大化状态显示主窗口:

  • 启动时直接最大化;
  • 不进入全屏,不隐藏标题栏或任务栏;
  • 保留最小化、还原、调整大小和关闭能力;
  • 窗口构造阶段仍不强制显示,便于测试。

验证:

  • python -m py_compile src/ui_main.py:通过;
  • PDD UI 事件测试:50 项通过;
  • Client 全量测试:380 项通过。

提交:e397494
归档:docs/task/147-client启动时默认最大化主窗口.md
归档提交:ab748db

未验证:真实 Windows 桌面的启动最大化、还原和多显示器行为。当前状态:待验收,工单保持开启。

## 实施完成,待用户验收 Client 启动入口已改为使用标准 Windows 最大化状态显示主窗口: - 启动时直接最大化; - 不进入全屏,不隐藏标题栏或任务栏; - 保留最小化、还原、调整大小和关闭能力; - 窗口构造阶段仍不强制显示,便于测试。 验证: - `python -m py_compile src/ui_main.py`:通过; - PDD UI 事件测试:50 项通过; - Client 全量测试:380 项通过。 提交:`e397494` 归档:`docs/task/147-client启动时默认最大化主窗口.md` 归档提交:`ab748db` 未验证:真实 Windows 桌面的启动最大化、还原和多显示器行为。当前状态:待验收,工单保持开启。
Author
Owner

用户于 2026-08-13 明确验收通过。本地归档状态已更新,批量验收记录提交:ad44f83。现关闭工单。

用户于 2026-08-13 明确验收通过。本地归档状态已更新,批量验收记录提交:`ad44f83`。现关闭工单。
ila closed this issue 2026-08-13 15:57:55 +08:00
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: chengma/cmautobuy#147