Python.Middle: Программа авторизации

Так как мы чемпионы по медленной печати, программа авторизации сильно проще, чем она должна была быть:

В общем виде проект в VSCode выглядит вот так:

Т.е У нас 4 файла всего:

  • configuration.py — содержит константы, конфигурирующие окно
  • checker.py — содержит описание класса Checker, который содержит данные пользователя и имеет метод, позволяющий передать ему введённые логин-пароль, сравнить их с хранимыми и выдать вердикт совпадают они или нет в виде логического значения True или False
  • window.py — основная программа
  • icon3.ico — иконка приложения

Иконки приложений можно бесплатно скачать на сайте https://www.icon-icons.com

Файл configuration.py:

WIN_TITLE = "My window"
WIN_WIDTH = 800
WIN_HEIGHT = 600
WIN_ICON = "icon3.ico"

Файл checker.py:

class Checker():
    def __init__(self, login, password):
        self._login = login
        self._password = password

    def check(self, login, password):
        if login == self._login and password == self._password:
            return True
        else:
            return False
        

Файл window.py:

Тут задаются основные параметры окна, все его элементы, создаётся объект типа Checker, объявляется функция реакции программы на результат проверки логина и пароля.

import tkinter as tk
from configuration import *
from checker import Checker

mainWindow = tk.Tk()
mainWindow.title(WIN_TITLE)
mainWindow.geometry( f"{WIN_WIDTH}x{WIN_HEIGHT}" )
mainWindow.iconbitmap(WIN_ICON)

txt = tk.Text(mainWindow, width=15, height=1)
txt.pack()

txt2 = tk.Text(mainWindow, width=15, height=1)
txt2.pack()

checker = Checker("ivan","qwerty")

def Auth():
    log = txt.get(1.0,tk.END).strip()
    pss = txt2.get(1.0,tk.END).strip()
    print(log,pss)
    if checker.check(log, pss): 
        print("Доступ получен")
    else: 
        print("Неправильные данные!")


btn = tk.Button( mainWindow, text="Сказать привет!", command=Auth)
btn.pack()

mainWindow.mainloop()