| 1234567891011121314151617181920212223242526272829303132333435363738394041 |
- """Главное окно приложения"""
- from typing import Any, Dict
- from tkinter import Tk, LabelFrame
- from pakApp.pakGui.pakWinMain.pakFrmCmd.modFrmCmd import FrmCmd
- from pakApp.pakGui.pakWinMain.pakFrmBot.modFrmBot import FrmBot
- class WinMain(Tk):
- """Главное окно приложения"""
- def __init__(self, gui: Any) -> None:
- Tk.__init__(self)
- self.app: Any = gui.app
- self.gui: Any = gui
- self.title("БотоФерма WarTank")
- self.geometry("800x640")
- self.list_bot: list[str] = []
- self.list_frm_bot: dict[str, FrmBot] = {}
- self.frm_cmd = FrmCmd(self)
- self.frm_list_bot = LabelFrame(self, text="Список ботов")
- self.frm_list_bot.pack(fill="both", expand=1)
- def run(self) -> None:
- """Запускает графику (главное окно) в работу"""
- self.mainloop()
- def update_list_bot(self) -> None:
- """Обновляет список ботоов с сервера"""
- print("WinMain.update_list_bot()")
- list_bot: list[Dict[str, str]] = self.app.logic.get_list_bot()
- print(f"WinMain.update_list_bot(): list_bot={list_bot}")
- for dict_bot in list_bot:
- name = dict_bot["name"]
- if name not in self.list_bot:
- stat_bot = FrmBot(self.app, self.frm_list_bot, name)
- self.list_frm_bot[name] = stat_bot
- self.list_bot.append(name)
- stat_bot = self.list_frm_bot[name]
- stat_bot.update_state(dict_bot)
- self.after(5000, self.update_list_bot)
|