Tkinter не удаляет виджет Label - PullRequest
0 голосов
/ 19 сентября 2019

Я относительно новичок в этом, но кто-нибудь может узнать, почему 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()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...