Задать вопрос
@Devil_Evil2021

Окно авторизации. Почему одно работает, а второе нет?

Делал окно авторизации: логин/пароль и кнопка входа. Чтобы при вводе верного пароля и логина, окно исчезало и пропускало дальше работать.
Есть 2 варианта окна, первый с функцией hide_me()(работает без ошибок, ожидает нажатия на кнопку перед действием), а второй без этой функции, но при запуске получается так, что кнопка сама по себе сразу нажимается и приложение закрывается. Если убрать root.destroy(), чтобы окно не закрывалось, то можно будет увидеть только строчку в консоли, что логин/пароль неверный и больше кнопка не работает.
Почему с функций hide_me(), которая ничего не делает, но при этом программа работает, а без этой функции программа отказывается работать?
def hide_me():
	text1 = "0"

def AUTO():
    if lineLOGIN.get() == l and linePASS.get() == p:
        print("Вход выполнен")
        root.destroy()
    else:
        print("Неверный логин/пароль") 

btn=Button(text="Авторизация", padx="0", pady="0", command=lambda:(AUTO(),hide_me()))
btn.pack()
btn.place(x=150, y=150, anchor="c")


def AUTO():
    if lineLOGIN.get() == l and linePASS.get() == p:
        print("Вход выполнен")
        root.destroy()
    else:
        print("Неверный логин/пароль") 

btn=Button(text="Авторизация", padx="0", pady="0", command=AUTO())
btn.pack()
btn.place(x=150, y=150, anchor="c")
  • Вопрос задан
  • 165 просмотров
Подписаться 1 Простой 4 комментария
Решения вопроса 1
@javedimka
Хочу сока
Потому что у тебя питон хромает.
В первом случае как коллбэк для кнопки ты передаешь функцию которую нужно вызвать при её нажатии, а во втором случае - коллбэк вызываешь и убиваешь свою программу.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы