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

2.4 KiB
Raw Blame History

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、刷新线程测试。