Я относительно новичок в этом, но кто-нибудь может узнать, почему errorLabel не забывает?Я не вижу причины того, почему это так.Все остальные виджеты исчезают, но не errorLabel.
def checkLogin(root, username, password, userNameLabel, userNameEntry, passwordLabel, passwordEntry, loginButton):
print(gui.checkUser(username, password))
errorLabel = Label(root, text="")
errorLabel.pack()
if (gui.checkUser(username, password)):
userNameLabel.forget()
errorLabel.forget()
userNameEntry.forget()
passwordLabel.forget()
passwordEntry.forget()
loginButton.forget()
else:
errorLabel.config(text="Error, that is an incorrect username and/or password")
Это целый код
class gui:
def checkUser(username, password):
data = musicQuiz.getUsers()
for usernameDB, passwordDB in data:
if str(usernameDB) == str(username) and str(passwordDB) == str(password):
return True
return False
def checkLogin(root, username, password, userNameLabel, userNameEntry, passwordLabel, passwordEntry, loginButton):
print(gui.checkUser(username, password))
errorLabel = Label(root, text="")
errorLabel.pack()
if (gui.checkUser(username, password)):
userNameLabel.forget()
errorLabel.forget()
userNameEntry.forget()
passwordLabel.forget()
passwordEntry.forget()
loginButton.forget()
else:
errorLabel.config(text="Error, that is an incorrect username and/or password")
def login(root):
userNameLabel = Label(root, text="Username")
userNameEntry = Entry(root)
passwordLabel = Label(root, text="Password")
passwordEntry = Entry(root)
loginButton = Button(root, text = "Login!", command=lambda: gui.checkLogin(root, userNameEntry.get(), passwordEntry.get(), userNameLabel, userNameEntry, passwordLabel, passwordEntry, loginButton))
userNameLabel.pack()
userNameEntry.pack()
passwordLabel.pack()
passwordEntry.pack()
loginButton.pack()
def main():
musicQuiz.setupSQL()
root = Tk()
root.geometry("350x350")
gui.login(root)
root.mainloop()
if __name__ == "__main__":
gui.main()