54 lines
2.4 KiB
Markdown
54 lines
2.4 KiB
Markdown
# 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、刷新线程测试。
|