mod_win_main.py 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. """
  2. Главное окно приложения
  3. """
  4. from collections.abc import Callable
  5. from tkinter import Tk
  6. from lev0 import Logger
  7. from .pak_frm_vm import FrmVm
  8. from .pak_frm_code import FrmCode
  9. from .pak_frm_status import FrmStatus
  10. class WinMain(Tk):
  11. """
  12. Главное окно приложения
  13. """
  14. def __init__(self) -> None:
  15. self.__log = Logger("WinMain")
  16. self.__log.debug("start")
  17. Tk.__init__(self)
  18. self.title("Prolet")
  19. self.geometry("1000x600")
  20. self.__frm_status = FrmStatus(self)
  21. self.frm_vm = FrmVm(self)
  22. self.frm_code = FrmCode(self)
  23. def set_fn(self, fn_step: Callable[[], None]) -> None:
  24. """
  25. Устанавливает функцию для передачи значения
  26. """
  27. assert fn_step is not None, "fn_step is None"
  28. self.__frm_status.set_fn_step(fn_step)
  29. def run(self) -> None:
  30. """
  31. Запуск главного окна
  32. """
  33. self.__log.debug(msg="start")
  34. self.mainloop()