Окно регистрации/авторизации на Python Tkinter

Окно регистрации. Проблема такая, что по нажатию на кнопку "Зарегистрироваться" вновь появляются строки с вводом логина, пароля, возможно ли как то это предотвратить?

введите сюда описание изображения Код не мой, прилагаю ниже

from tkinter import *
from tkinter import messagebox
import pickle

root = Tk()
root.geometry('400x600')
root.title('Войти в систему')

def registration():
    text = Label(text='Для входа в систему зарегистрируйтесь')
    text_log = Label(text='Введите Ваш логин')
    registr_login = Entry()
    text_password1 = Label(text='Введите Ваш пароль')
    registr_password1 = Entry()
    text_password2 = Label(text='Еще раз пароль:')
    registr_password2 = Entry(show='*')
    button_registr = Button(text='Зарегистрироваться', command=lambda: save())
    text.pack()
    text_log.pack()
    registr_login.pack()
    text_password1.pack()
    registr_password1.pack()
    text_password2.pack()
    registr_password2.pack()
    button_registr.pack()

    def save():
        login_pass_save = {}
        login_pass_save[registr_login.get()] = registr_password1.get()
        f = open('login.txt', 'ab')
        pickle.dump(login_pass_save, f)
        f.close()
        registration()
        login()

def login():
    text_log = Label(text='Теперь вы можете войти в систему.')
    text_enter_login = Label(text='Введите ваш логин: ')
    enter_login = Entry()
    text_enter_pass = Label(text='Введите ваш пароль: ')
    enter_password = Entry(show='*')
    button_enter = Button(text='Войти', command=lambda: log_pass())
    text_log.pack()
    text_enter_login.pack()
    enter_login.pack()
    text_enter_pass.pack()
    enter_password.pack()
    button_enter.pack()

    def log_pass():
        f = open('login.txt', 'rb')
        a = pickle.load(f)
        f.close()
        if enter_login.get() in a:
            if enter_password.get() == a[enter_login.get()]:
                messagebox.showinfo('Вы авторизовались', 'Вход выполнен')
            else:
                messagebox.showerror('Ошибка', 'Неверный логин или пароль')
        else:
            messagebox.showerror('Ошибка', 'Неверный логин или пароль')

registration()
root.mainloop()

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

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

Так они не появляются вновь, они просто не убираются. Т.е. вам надо отчищать свой root от ненужных виджетов. Для этого можно воспользоваться методом destroy, которая удаляет виджет. Так можно отчистить весь скрин от всего:

for ele in root.winfo_children():
    ele.destroy()
→ Ссылка
Автор решения: xiinap

В 33 строку ты написал "registration", тем самым вызывая регистрацию ещё раз

→ Ссылка