2.5 KiB
2.5 KiB
3 拆分 PDD 与设置页面 UI 模块
- 类型:重构
- 父级大工单:#1
- 所属 MVP / 版本:#2 / MVP
- 状态:已完成
- 日期:2026-08-06
- Gitea 工单:#3
背景与目标
原来的 client/src/ui_main.py 同时包含页面布局和主窗口装配,不方便初级程序员继续维护。本任务把 PDD、设备和设置页面移动到已有的页面模块,让 ui_main.py 只负责应用启动、导航和页面装配。
最终方案
PDDTaskPage移动到client/src/pdd_ui.py。DevicePage和SettingsPage移动到client/src/settings_ui.py。client/src/ui_main.py使用包内相对导入装配三个页面。- 保留全部控件公开属性、页面
objectName、导航顺序、窗口标题和现有界面行为。 - 没有增加业务逻辑、依赖、数据库或接口改动。
最终实现与建单方案一致。
改了哪些
client/src/pdd_ui.py:补充PDDTaskPage页面实现和所需导入。client/src/settings_ui.py:补充DevicePage、SettingsPage页面实现和所需导入。client/src/ui_main.py:删除具体页面布局,只保留启动、主窗口和导航装配。
验收结果
| 验收标准 | 结果 |
|---|---|
PDDTaskPage 只定义在 pdd_ui.py |
通过 |
SettingsPage 和 DevicePage 只定义在 settings_ui.py |
通过 |
ui_main.py 不再包含具体页面布局 |
通过 |
页面 objectName、控件公开属性和导航装配保持不变 |
通过 |
| 三个文件通过 Python 语法检查 | 通过 |
离屏创建 MainWindow 并打印 OK |
通过 |
测试
-
执行的命令:
C:/Python310/python.exe -m py_compile src/ui_main.py src/pdd_ui.py src/settings_ui.py$env:QT_QPA_PLATFORM="offscreen" C:/Python310/python.exe -c "from src.ui_main import MainWindow; from PyQt5.QtWidgets import QApplication; app=QApplication([]); w=MainWindow(); assert w.pddTaskPage.objectName() == 'pddTaskPage'; assert w.devicePage.objectName() == 'devicePage'; assert w.settingsPage.objectName() == 'settingsPage'; print('OK'); w.close(); app.quit()" Remove-Item Env:QT_QPA_PLATFORM -
结果:语法检查通过;离屏测试打印
OK。测试环境另外输出 PyQt5 字体目录缺失警告,不影响窗口创建结果。 -
没验证到的部分:未进行人工界面对比、真机操作、Windows 多缩放和主题切换测试;本任务没有执行设备连接或自动化。
相关提交
5916de4拆分页面 UI 模块