| 12345678910111213141516171819202122232425262728293031323334353637383940 |
- """Главное окно приложения"""
- 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.listFrmBot:dict[str, FrmBot]={}
- def run(self)->None:
- self.frmCmd=FrmCmd(self)
- self.frmListBot=LabelFrame(self,text="Список ботов")
- self.frmListBot.pack(fill="both",expand=1)
- self.update_list_bot()
- 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:
- statBot=FrmBot(self.app, self.frmListBot, name)
- self.listFrmBot[name]=statBot
- self.list_bot.append(name)
- statBot=self.listFrmBot[name]
- statBot.update_state(dict_bot)
- self.after(5000,self.update_list_bot)
|