modWinMain.py 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. """Главное окно приложения"""
  2. from typing import Any
  3. from tkinter import Tk,LabelFrame,Frame,Label
  4. from pakApp.pakGui.pakWinMain.pakFrmCmd.modFrmCmd import FrmCmd
  5. class WinMain(Tk):
  6. def __init__(self, gui:Any)->None:
  7. Tk.__init__(self)
  8. self.app:Any=gui.app
  9. self.gui:Any=gui
  10. self.title("БотоФерма WarTank")
  11. self.geometry("800x640")
  12. self.dict_bot:list[str]=[]
  13. def run(self)->None:
  14. self.frmCmd=FrmCmd(self)
  15. self.frmListBot=LabelFrame(self,text="Список ботов")
  16. self.frmListBot.pack(fill="both",expand=1)
  17. self.update_list_bot()
  18. self.mainloop()
  19. def update_list_bot(self)->None:
  20. """Обновляет список ботоов с сервера"""
  21. print("WinMain.update_list_bot()")
  22. list_bot:Any=self.app.logic.get_list_bot()
  23. print(f"WinMain.update_list_bot(): list_bot={list_bot}")
  24. self.frmListBot.destroy()
  25. self.dict_bot=[]
  26. self.frmListBot=LabelFrame(self,text="Список ботов")
  27. self.frmListBot.pack(fill="both",expand=1)
  28. for bot_name in list_bot:
  29. frmBot=Frame(self.frmListBot, border=3,relief="sunken")
  30. frmBot.pack(fill="x", side="top")
  31. lblName=Label(frmBot, text="["+bot_name+"]")
  32. lblName.pack(side="left")
  33. self.dict_bot.append(bot_name)