Я создаю экран входа в систему, я сделал большую часть кода, теперь мне нужно просто иметь возможность отключить вторичное окно, когда кнопка входа в систему завершает успешную функцию.
вот код:
def log():
global us_name, log_pass, hash1, profile_logged, log_complete
us_name = entrylogun.get()
log_pass = entrylogpa.get()
hash1 = pbkdf2_sha256.hash(str(log_pass), rounds=1, salt_size=0)
log_pass = 0
log_complete = False
with open("users.txt", "r") as users:
if (us_name + "" + hash1 + "") in users.read():
log_complete = True
profile_logged = open("" + us_name + ".txt", "r+")
else:
tkinter.messagebox.showinfo("Verification Error",
"The Password and Username combination \n entered is not valid, please try again")
return log_complete
после этого у меня есть все настройки моего GUI, затем кнопка входа в систему
register_button = Button(center_frame, padx=7, pady=2, text="Log In", font=("arial", 10), bg="light grey", fg="black", command= (log and ))
register_button.grid(row=17, pady=8)
Теперь я пытаюсь, чтобы после нажатия этой кнопки после успешного завершения всех проверок входа в систему открылось новое окно. Тем не менее, я не могу запустить весь этот код, только когда вход в систему успешен ... я потерян, как я могу. Я уже везде искал и серьезно не могу найти как ...
если я просто начинаю новую строку, зависящую от log_complete, python заставляет меня устанавливать эту переменную с самого начала, и потому что мне нужно определить ее заранее, она запускает ее заранее и так далее.