Files
Grid_Trading/docs/superpowers/specs/2026-07-09-gui-visual-refresh-design.md
2026-07-14 16:21:32 +08:00

54 lines
2.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# GUI 页面美化与盈亏着色设计
日期2026-07-09
## 目标
把现有 PySide6 桌面 GUI 调整为清爽浅色桌面工具风格,并统一处理盈亏、利润字段的视觉反馈:亏损显示绿色加粗,盈利显示红色加粗,零值和空值保持中性显示。
本次只改视觉表现和表格单元格样式,不改变业务计算、数据结构、行情刷新、成交录入或持仓选择逻辑。
## 视觉方向
采用轻量主题化方案:
- 保留当前左侧导航、顶部摘要、工具栏、持仓表和底部详情 tab 的布局结构。
- 主窗口使用浅灰背景,内容区使用白色和浅边框分区,减少默认 Qt 控件的粗糙感。
- 侧边栏使用白底、蓝色选中态和更紧凑的列表项。
- 摘要卡片使用白底、浅边框、圆角和更清晰的标题/数值层级。
- 操作按钮使用蓝色主按钮样式,禁用态降低对比。
- 表格使用白底、浅灰表头、斑马纹、整行选中和统一网格线颜色。
- Tab 使用浅色选项卡,当前 tab 用蓝色强调。
## 盈亏字段
需要应用盈亏样式的字段:
- 汇总卡:浮动盈亏。
- 持仓表:已实现盈亏、网格利润、浮动盈亏。
- 网格档位表:预计单轮毛利润。
- 待卖网格表:预计毛利润。
- 配对明细表:毛利润。
样式规则:
- 大于 0红色、加粗。
- 小于 0绿色、加粗。
- 等于 0、空值或无法解析默认文字色和普通字重。
颜色按 A 股常见习惯处理,红色代表盈利,绿色代表亏损。
## 实现方式
-`MainWindow` 中新增一个全局样式应用方法,用 QSS 统一主窗口、按钮、列表、表格、tab 和摘要卡片样式。
- 给摘要卡片和关键控件设置 objectName让 QSS 精准命中,避免影响弹窗内部布局。
- 新增表格初始化 helper复用表头、选择、斑马纹、行高和滚动行为设置。
- 新增数值单元格 helper根据 Decimal 原始值给 `QTableWidgetItem` 设置前景色和加粗字体。
- 刷新汇总卡时对浮动盈亏标签应用同样的盈亏样式。
## 测试策略
- 增加 GUI 烟测,验证主窗口应用了浅色主题相关 objectName 或样式入口。
- 增加单元格样式测试,直接填充带盈利和亏损的持仓数据,验证盈利字段为红色加粗、亏损字段为绿色加粗。
- 保留现有窗口构造、tab、刷新线程测试。