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