Декстоп программа Пайтон зависает

изучаю библиотеку tkinter и решил написать небольшую программу на проверку пароля. У меня есть функция, которая сверяет пароль и делает разные действия в зависимости от того, что получилось, при введении верного пароля программа работает как надо, но при внесении неверного пароля, программа просто зависает и помогает только выключение окна. Скрины:][1]

введите сюда описание изображения

введите сюда описание изображения


Ответы (1 шт):

Автор решения: Vladyslav

Вот исправленный код, который должен работать правильно:

import tkinter as tk

password = "Westyuiopasd"

def get_password():
    global password
    entered_password = enter_password.get()

    if password != entered_password:
        incorrect_password_label = tk.Label(root, text=f'Вы ввели неверный пароль: {entered_password}',
                                            font=('Times New Roman', 18, 'bold'))
        incorrect_password_label.grid(row=0, column=1, sticky='we')
        enter_password.delete(0, tk.END)
        incorrect_password_label.after(2000, lambda: incorrect_password_label.destroy())  # Удаление через 2 секунды
    else:
        correct_password_label = tk.Label(root, text="Вы ввели правильный пароль. Вы и в правду любите Ангелину",
                                          bg="blue",
                                          font=('Times New Roman', 18, 'bold'))
        correct_password_label.grid(row=0, column=2, sticky='we')
        enter_password.delete(0, tk.END)

root = tk.Tk()
root.title("PythonHomework")
root.geometry("1280x750+130+0")

enter_password = tk.Entry(root)
enter_password.grid(row=0, column=1, sticky='we')

enter_password_label = tk.Label(root, text='Введите пароль:', font=('Times New Roman', 18, 'bold'))
enter_password_label.grid(row=0, column=0, sticky='we')

enter_password_button = tk.Button(root, text='Ввод', command=get_password, font=('Times New Roman', 18, 'bold'))
enter_password_button.grid(row=1, column=0, columnspan=2, sticky='we')

root.grid_columnconfigure(0, minsize=100)
root.grid_columnconfigure(1, minsize=100)
root.grid_columnconfigure(2, minsize=100)

root.mainloop()
→ Ссылка