Skip to main content

Module render

Module render 

Source
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_OPEN_CONTRACTS
菜单项 → 查询合约窗入口钮。
BTN_OPEN_CTP
菜单项 → CTP 窗入口钮。
BTN_OPEN_OPS
菜单项 → 运维窗入口钮。
BTN_QUERY_RATE
流控查询按钮标签(S5;v4 收纳进运维窗)。
BTN_SEND_ORDER
下单提交按钮标签(v4 = Python「委托」钮)。
BTN_SUBSCRIBE_SELECTED
查询合约窗订阅钮(勾选集 → ask ctp.subscribe)。
MENU_CONTRACTS
菜单项:查询合约(弹查询合约窗;Python ContractManager 等价)。
MENU_CTP
菜单项:网关(弹 CTP 配置窗)。
MENU_HELP
菜单项:帮助。
MENU_OPS
菜单项:运维(弹运维窗)。

Functions§

render_body
画一窗(官方面板组合:render_body 直接开顶层面板,不自嵌 CentralPanel)。