Procházet zdrojové kódy

d01 Добавление окна логина

SVI před 2 roky
rodič
revize
11fd26b8bf
1 změnil soubory, kde provedl 52 přidání a 3 odebrání
  1. 52 3
      desktop/win_login/win_login.py

+ 52 - 3
desktop/win_login/win_login.py

@@ -1,16 +1,65 @@
-"""Окно подключения к серверу"""
+"""Окно подключения к серверу."""
 
 import tkinter
 
 
 class WinLogin(tkinter.Toplevel):
-    """Окно логина на сервер вар-танка"""
+    """Окно логина на сервер вар-танка."""
+
     def __init__(self, win: tkinter.Tk) -> None:
+        """Создание окна логина."""
         tkinter.Toplevel.__init__(self, master=win)
         self.wm_title(string="Логин")
+        self.minsize(300, 200)
         self._login: str = "empty_login"
 
+        self.frm_login: tkinter.Frame = tkinter.Frame(self)
+        self.frm_login["relief"] = "ridge"
+        self.frm_login["border"] = 3
+        self.frm_login.pack(side="top", fill="x", expand=False)
+        lbl_login: tkinter.Label = tkinter.Label(self.frm_login)
+        lbl_login["text"] = "Логин"
+        lbl_login["anchor"] = "e"
+        lbl_login["justify"] = "right"
+        lbl_login.pack(side="left", fill="both", expand=True)
+        self.ent_login: tkinter.Entry = tkinter.Entry(self.frm_login)
+        self.ent_login["justify"] = "left"
+        self.ent_login.pack(side="right", fill="both", expand=True)
+
+        self.frm_pass: tkinter.Frame = tkinter.Frame(self)
+        self.frm_pass["relief"] = "ridge"
+        self.frm_pass["border"] = 3
+        self.frm_pass.pack(side="top", fill="x", expand=False)
+        lbl_pass: tkinter.Label = tkinter.Label(self.frm_pass)
+        lbl_pass["text"] = "Пароль"
+        lbl_pass["anchor"] = "e"
+        lbl_pass["justify"] = "right"
+        lbl_pass.pack(side="left", fill="both", expand=True)
+        self.ent_pass: tkinter.Entry = tkinter.Entry(self.frm_pass)
+        self.ent_pass["justify"] = "left"
+        self.ent_pass.pack(side="right", fill="both", expand=True)
+
+        self.frm_btn: tkinter.Frame = tkinter.Frame(self)
+        self.frm_btn.pack(side="top", fill="x", expand=False)
+        self.btn_login: tkinter.Button = tkinter.Button(self.frm_btn)
+        self.btn_login["command"] = self.make_login
+        self.btn_login["text"] = "Логин"
+        self.btn_login.pack(side="left", fill="x", expand=True)
+        self.btn_cancel: tkinter.Button = tkinter.Button(self.frm_btn)
+        self.btn_cancel["command"] = self.cancel_login
+        self.btn_cancel["text"] = "Отмена"
+        self.btn_cancel.pack(side="left", fill="x", expand=True)
+
     @property
     def login(self) -> str:
-        """Логин для входя на сервер"""
+        """Логин для входя на сервер."""
         return self._login
+
+    def make_login(self) -> None:
+        """Выполняет вход на сервер."""
+        print("WinLogin.make_login()")
+
+    def cancel_login(self) -> None:
+        """Отменяет вход на сервер."""
+        print("WinLogin.make_login()")
+        self.destroy()