win_login.py 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. """Окно подключения к серверу."""
  2. import tkinter
  3. class WinLogin(tkinter.Toplevel):
  4. """Окно логина на сервер вар-танка."""
  5. def __init__(self, win: tkinter.Tk) -> None:
  6. """Создание окна логина."""
  7. tkinter.Toplevel.__init__(self, master=win)
  8. self.wm_title(string="Логин")
  9. self.minsize(300, 200)
  10. self._login: str = "empty_login"
  11. self.frm_login: tkinter.Frame = tkinter.Frame(self)
  12. self.frm_login["relief"] = "ridge"
  13. self.frm_login["border"] = 3
  14. self.frm_login.pack(side="top", fill="x", expand=False)
  15. lbl_login: tkinter.Label = tkinter.Label(self.frm_login)
  16. lbl_login["text"] = "Логин"
  17. lbl_login["anchor"] = "e"
  18. lbl_login["justify"] = "right"
  19. lbl_login.pack(side="left", fill="both", expand=True)
  20. self.ent_login: tkinter.Entry = tkinter.Entry(self.frm_login)
  21. self.ent_login["justify"] = "left"
  22. self.ent_login.pack(side="right", fill="both", expand=True)
  23. self.frm_pass: tkinter.Frame = tkinter.Frame(self)
  24. self.frm_pass["relief"] = "ridge"
  25. self.frm_pass["border"] = 3
  26. self.frm_pass.pack(side="top", fill="x", expand=False)
  27. lbl_pass: tkinter.Label = tkinter.Label(self.frm_pass)
  28. lbl_pass["text"] = "Пароль"
  29. lbl_pass["anchor"] = "e"
  30. lbl_pass["justify"] = "right"
  31. lbl_pass.pack(side="left", fill="both", expand=True)
  32. self.ent_pass: tkinter.Entry = tkinter.Entry(self.frm_pass)
  33. self.ent_pass["justify"] = "left"
  34. self.ent_pass.pack(side="right", fill="both", expand=True)
  35. self.frm_btn: tkinter.Frame = tkinter.Frame(self)
  36. self.frm_btn.pack(side="top", fill="x", expand=False)
  37. self.btn_login: tkinter.Button = tkinter.Button(self.frm_btn)
  38. self.btn_login["command"] = self.make_login
  39. self.btn_login["text"] = "Логин"
  40. self.btn_login.pack(side="left", fill="x", expand=True)
  41. self.btn_cancel: tkinter.Button = tkinter.Button(self.frm_btn)
  42. self.btn_cancel["command"] = self.cancel_login
  43. self.btn_cancel["text"] = "Отмена"
  44. self.btn_cancel.pack(side="left", fill="x", expand=True)
  45. @property
  46. def login(self) -> str:
  47. """Логин для входя на сервер."""
  48. return self._login
  49. def make_login(self) -> None:
  50. """Выполняет вход на сервер."""
  51. print("WinLogin.make_login()")
  52. def cancel_login(self) -> None:
  53. """Отменяет вход на сервер."""
  54. print("WinLogin.make_login()")
  55. self.destroy()