diff --git a/core/main_ui.py b/core/main_ui.py index 2df1df6..987a338 100644 --- a/core/main_ui.py +++ b/core/main_ui.py @@ -1,7 +1,8 @@ import tkinter as tk from tkinter import ttk -from core.logger import LogLevel, PrintLog +from core.logger import LogLevel, PrintLog, LogData from core.sfgrid.sfgrid_ui import TradeTargetUI +from core.eventbus import event_bus, EventPrintLog class MainWindow: @@ -16,8 +17,12 @@ class MainWindow: self.strategy_frames = {} # 日志面板可见性标志 self.log_visible = False + # 创建界面 self.create_ui() + + # 订阅日志事件 + event_bus.subscribe(EventPrintLog, self.on_log_event) def create_ui(self): @@ -206,6 +211,10 @@ class MainWindow: result = messagebox.askyesno("确认退出", "确定要退出系统吗?") if result: self.root.destroy() + + def on_log_event(self, log_data: LogData): + """处理日志事件""" + self.add_log(log_data.level, log_data.message) def run(self): """运行程序""" diff --git a/core/sfgrid/sfgrid_ui.py b/core/sfgrid/sfgrid_ui.py index 2cc9a62..66e4137 100644 --- a/core/sfgrid/sfgrid_ui.py +++ b/core/sfgrid/sfgrid_ui.py @@ -5,6 +5,7 @@ from tkinter import ttk, messagebox, filedialog from datetime import datetime import threading import time +from core import constants import core.eventbus as eBus from core.logger import LogLevel, PrintLog from core.sfgrid.bus_events import ActionEventAddTradeTarget, ActionEventDeleteTradeTarget, ActionEventDisableTrade, ActionEventEnableTrade, ActionEventGridFix, EventTradeTargetUpdate, ResultEventTradeTargetAdded, ResultEventTradeTargetDeleted @@ -351,6 +352,14 @@ class TradeTargetUI(ttk.Frame): def populate_trade_table(self): """填充交易标的表格数据""" for temp, target in self.tradeTargetData.items(): + if target.current_order_type == constants.OrderTypeBuy: + orderTypeStr = "买" + elif target.current_order_type == constants.OrderTypeSell: + orderTypeStr = "卖" + elif target.current_order_type == constants.OrderTypeInit: + orderTypeStr = "建仓" + else: + orderTypeStr = "未知" values = [ target.id, # type: ignore target.stock_code, @@ -362,9 +371,11 @@ class TradeTargetUI(ttk.Frame): '-' if target.plan_sell_price is None else f"{target.plan_sell_price:.3f}", '-' if target.current_order_price is None else f"{target.current_order_price:.3f}", target.current_order_no, - target.current_order_type, + orderTypeStr, self.get_trade_enabled_indicator(target.enabled) # type: ignore ] + + self.trade_table.insert('', tk.END, values=values)