Expand description
唯一渲染入口(L2):真实 eframe App 与 kittest 建构走同一个 render_body。
布局 v5(BD-UI-29 面板化,官方面板组合;蓝本 = Python 主窗 mainwindow.py): TopBottomPanel(菜单) → TopBottomPanel(行情带) → SidePanel(下单侧) → CentralPanel(2×2 监控格) → Window 弹窗,两带物理分离。
- 行情带(TopBottomPanel::resizable = Python 分带 splitter 语义,缺省 240):
交易所二级 tab(只列有 tick 的所)+ tick 表(唯一源 =
eTick.订阅流,不从 bar 回);行单击 = 带入下单面板(ek 增值,方案钉),行双击 = 弹 K线窗。 - 下单侧(SidePanel::resizable,缺省 250):下单面板常驻(Python TradingWidget 等价:9 字段 + 委托 + 全撤;表单 = 网格,按钮/提示语都是 网格行;网格后置 err label 由 ScrollArea 吸收 sizing 退让,BD-UI-27)+ 盘口(买5卖5,Python TradingWidget 内序:字段钮 → 盘口)。
- 2×2 监控格(CentralPanel 内,响应式分配,无定宽定高,BD-UI-29) 「委托|未成交」「成交」「持仓」「资金|日志」(撤单钮仅活动行,既有 s11 钉口径;委托行双击 = 撤单,Python OrderMonitor 等价;格内宽表走横向滚动, D7 口径)。
- 弹窗(egui::Window,依附主窗,kittest 可断言):运维窗(菜单「运维」: 插件/服务/依赖/流控查询)、CTP 配置窗(菜单「网关」,CTP 插件自己的 界面)、查询合约窗(菜单「查询合约」:查询 + 勾选 + 订阅钮,Python ContractManager 等价)、K线窗(双击弹出,按合约多开)。
- 订阅两入口(用户裁定,网关窗不定死订阅):下单面板代码框回车订阅
(Python returnPressed 等价);查询合约窗勾选订阅。合约数据 =
eContract.自动回流(ek-ctp 登录后自动查询,UI 只收不催)。 - 回灌表单与票据文本框已退役(界面面);总线口(
UiCmd::Reload等)保留。
kittest 断言面:各单元格独立 Label(get_by_label 直查);操作走
push_cmd 入队(ui 插件 eTimer 辞行出队),确认状态就地翻位,零自制通道。
隔离红标:行状态含 Quarantin(快照扫描,BD-UI-17)。
Constants§
- BTN_
CANCEL_ ALL - 全撤按钮标签(v4;活动委托逐个走既有撤单 ask)。
- BTN_
CANCEL_ CONFIRM - 取消待确认按钮标签。
- BTN_
CANCEL_ ORDER - 撤单按钮前缀(S5;行级标签 =
撤单 {orderid})。 - BTN_
CLEAR_ LOGS - 清空日志按钮的唯一可访问性标签(测试与 UI 同源)。
- BTN_
CTP_ CONNECT - CTP 连接按钮标签(S6;手工配置 → ask ctp.configure)。
- BTN_
QUERY_ RATE - 流控查询按钮标签(S5;v4 收纳进运维窗)。
- BTN_
SEND_ ORDER - 下单提交按钮标签(v4 = Python「委托」钮)。
- BTN_
SUBSCRIBE_ SELECTED - 菜单项 → 弹窗入口钮(BD-UI-31 一键直达:菜单钮即入口,一步弹窗, 不再挂下拉层;入口钮标签 = 菜单名本身)。 查询合约窗订阅钮(勾选集 → ask ctp.subscribe)。
- MENU_
CONTRACTS - 菜单项:查询合约(弹查询合约窗;Python ContractManager 等价)。
- MENU_
CTP - 菜单项:网关(弹 CTP 配置窗)。
- MENU_
HELP - 菜单项:帮助。
- MENU_
OPS - 菜单项:运维(弹运维窗)。
Functions§
- render_
body - 画一窗(官方面板组合:render_body 直接开顶层面板,不自嵌 CentralPanel)。