Загрузка данных


import tkinter as tk
from PIL import Image, ImageTk

root = tk.Tk()
root.title("авторизация")
root.geometry("350x600")
root.resizable(False, False)
root.configure(bg="blue")


def open_result(genre):
    result = tk.Toplevel()
    result.title("выбор книг")
    result.geometry("350x600")
    result.configure(bg="blue")

    tk.Label(result, text="вы выбрали жанр:",
             bg="blue", fg="black",
             font=("Arial", 14, "bold")).pack(pady=(20, 5))

    tk.Label(result, text=genre,
             bg="blue", fg="black",
             font=("Arial", 18, "bold")).pack(pady=(0, 15))

    img1 = ImageTk.PhotoImage(Image.open("muu.jpg").resize((80, 80)))
    img2 = ImageTk.PhotoImage(Image.open("maa.jpg").resize((80, 80)))
    img3 = ImageTk.PhotoImage(Image.open("kzkz.jpg").resize((80, 80)))


    var1 = tk.IntVar()
    var2 = tk.IntVar()
    var3 = tk.IntVar()

    # Функция для создания одной строки: картинка + чекбокс
    def make_row(parent, img, var, text):
        row = tk.Frame(parent, bg="blue")
        row.pack(pady=5, anchor="w", padx=30)

        lbl = tk.Label(row, image=img, bg="blue")
        lbl.image = img  
        lbl.pack(side="left", padx=10)

        chk = tk.Checkbutton(row, text=text, variable=var,
                             bg="blue", fg="black",
                             activebackground="blue",
                             selectcolor="yellow",
                             font=("Arial", 11, "bold"))
        chk.pack(side="left", padx=10)

    frame_list = tk.Frame(result, bg="blue")
    frame_list.pack(pady=10)

    make_row(frame_list, img1, var1, "репка")
    make_row(frame_list, img2, var2, "кошка")
    make_row(frame_list, img3, var3, "теремок")

    # Кнопка "Добавить" — выводит выбранные книги
    def add_books():
        chosen = []
        if var1.get() == 1:
            chosen.append("репка")
        if var2.get() == 1:
            chosen.append("кошка")
        if var3.get() == 1:
            chosen.append("теремок")
        print("Добавлено:", chosen)

    tk.Button(result, text="Добавить",
              bg="yellow", fg="black", width=14,
              command=add_books).pack(pady=20)


def open_cabinet():
    root.withdraw()
    cabinet = tk.Toplevel()
    cabinet.title("личный кабинет")
    cabinet.geometry("350x600")
    cabinet.configure(bg="blue")

    tk.Label(cabinet, text="личный кабинет",
             bg="blue", fg="black",
             font=("Arial", 14, "bold")).pack(pady=15)

    tk.Frame(cabinet, bg="black", height=2).pack(fill="x")

    tk.Label(cabinet, text="жанры",
             bg="blue", fg="black",
             font=("Arial", 13, "bold")).pack(pady=10)

    img1 = ImageTk.PhotoImage(Image.open("сказки.jpg").resize((80, 80)))
    img2 = ImageTk.PhotoImage(Image.open("картинка ужасы.jpg").resize((80, 80)))
    img3 = ImageTk.PhotoImage(Image.open("фэнтези.jpg").resize((80, 80)))

    frame_img = tk.Frame(cabinet, bg="blue")
    frame_img.pack(pady=10)

    lbl1 = tk.Label(frame_img, image=img1, bg="blue")
    lbl1.image = img1
    lbl1.pack(side="left", padx=6)

    lbl2 = tk.Label(frame_img, image=img2, bg="blue")
    lbl2.image = img2
    lbl2.pack(side="left", padx=6)

    lbl3 = tk.Label(frame_img, image=img3, bg="blue")
    lbl3.image = img3
    lbl3.pack(side="left", padx=6)

    genre = tk.StringVar()
    genre.set("сказки")

    frame_genres = tk.Frame(cabinet, bg="blue")
    frame_genres.pack(pady=10)

    tk.Radiobutton(frame_genres, text="сказки", variable=genre, value="сказки",
                   bg="blue", fg="black").pack(side="left", padx=6)
    tk.Radiobutton(frame_genres, text="ужасы", variable=genre, value="ужасы",
                   bg="blue", fg="black").pack(side="left", padx=6)
    tk.Radiobutton(frame_genres, text="фэнтези", variable=genre, value="фэнтези",
                   bg="blue", fg="black").pack(side="left", padx=6)

    tk.Button(cabinet, text="Выбрать",
              bg="yellow", fg="black", width=14,
              command=lambda: o pen_result(genre.get())).pack(pady=15)

    tk.Label(cabinet, text="Адрес библиотека",
             bg="blue", fg="black").pack(side="bottom", pady=15)


frame_login = tk.Frame(root, bg="blue")
frame_login.pack()

photo = ImageTk.PhotoImage(Image.open("book.jpg").resize((150, 150)))
lbl_logo = tk.Label(frame_login, image=photo, bg="blue")
lbl_logo.image = photo
lbl_logo.pack(pady=20)

tk.Label(frame_login, text="авторизация",
         bg="blue", fg="black",
         font=("Arial", 16, "bold")).pack(pady=10)

tk.Label(frame_login, text="Логин:", bg="blue", fg="black").pack()
entry_login = tk.Entry(frame_login, width=24, bg="yellow", fg="black")
entry_login.pack(pady=5)

tk.Label(frame_login, text="Пароль:", bg="blue", fg="black").pack()
entry_password = tk.Entry(frame_login, width=24, show="*", bg="yellow", fg="black")
entry_password.pack(pady=5)

tk.Button(frame_login, text="Войти",
          bg="yellow", fg="black", width=18,
          command=open_cabinet).pack(pady=15)

root.mainloop()