This commit is contained in:
2025-11-05 10:34:30 +08:00
parent be9633d9e8
commit c77ff1c0ae
4 changed files with 27 additions and 98 deletions
+12 -24
View File
@@ -8,11 +8,11 @@ import configparser
import sfgrid_constants
class TradeTargetUI:
def __init__(self, trade_targets: Optional[List[TradeTarget]] = None):
if trade_targets is not None:
self.trade_targets = trade_targets
else:
self.trade_targets = []
def __init__(self, trade_targets: List[TradeTarget]):
self.data:dict[str, TradeTarget] = {}
for temp in trade_targets:
target:TradeTarget = temp
self.data[str(target.get_id())] = target
self.root = tk.Tk()
self.root.title("三疯交易系统")
@@ -43,7 +43,7 @@ class TradeTargetUI:
menubar.add_cascade(label="系统", menu=system_menu)
system_menu.add_command(label="系统设置", command=self.system_settings)
system_menu.add_separator()
system_menu.add_command(label="退出", command=self.root.quit)
system_menu.add_command(label="退出", command=self.root.destroy)
def create_tables_area(self, parent):
"""创建表格区域"""
@@ -152,8 +152,8 @@ class TradeTargetUI:
def populate_trade_table(self):
"""填充交易标的表格数据"""
for temp in self.trade_targets:
target: TradeTarget = temp
for temp in self.data:
target: TradeTarget = self.data[temp]
values = [
target.id, # type: ignore
target.stock_code,
@@ -238,9 +238,9 @@ class TradeTargetUI:
target_id = values[0]
# 从列表中找到对应的target对象
for target in self.trade_targets:
if target.id == target_id: # type: ignore
return target
for id in self.data:
if target_id == id: # type: ignore
return self.data[id]
return None
@@ -307,7 +307,7 @@ class TradeTargetUI:
if result:
try:
self.trade_targets.remove(target)
del self.data[target.get_id()]
self.add_log("WARNING", f"已删除交易标的: {target.stock_code} - {target.stock_name}")
self.refresh_table()
messagebox.showinfo("删除成功", f"已删除 {target.stock_code} ({target.stock_name})")
@@ -653,15 +653,3 @@ class TradeTargetUI:
"""运行程序"""
self.root.mainloop()
# 使用示例
if __name__ == "__main__":
print("交易标的监控系统启动...")
print("功能说明:")
print(" - 左侧表格显示所有交易标的详细信息")
print(" - 右侧表格显示操作日志")
print(" - 底部五个功能按钮提供操作")
# 创建并运行界面
app = TradeTargetUI()
app.run()