Jak usunąć elementy w tkinter

0

Witam i ponownie proszę o pomoc!. Mój problem to: jak wyczyścić okno po naciśnięciu przycisku zapisz. Próbowałem sposobami pokazanymi w internecie i nic. Próbowałem w def Usun poleceń delete, destroy i nic, co robię źle i jak z tym sobie poradzić? Proszę o pomoc.


import tkinter as tk
from time import strftime




class NewUser():
    def __init__(self):
        self.root = tk.Tk()
        self.root.geometry("800x600")
        self.root.title("jakis napis")
        linia1=tk.Label(self.root, text="jkfggfkfkfljf").pack()
        linia2=tk.Label(self.root, text="jkfggfkfkfljf").pack()
        linia3=tk.Label(self.root, text="jkfggfkfkfljf").pack()
        linia4=tk.Label(self.root, text="jkfggfkfkfljf").pack()

        przycisk = tk.Button(self.root, text="zapisz",command=self.Usun).pack()
    
        self.root.mainloop()
    
    def Usun(self):
        # jak wyczyścić okno?
        return
        
    


        

main = NewUser()

0

możesz użyć pack_forget() ale nie przypisuj tak zmiennych

        linia2=tk.Label(self.root, text="jkfggfkfkfljf").pack()

bo przypisujesz do niej return funkcji pack() czyli None
można tak:


import tkinter as tk
from time import strftime

class NewUser():
    def __init__(self):
        self.root = tk.Tk()
        self.root.geometry("800x600")
        self.root.title("jakis napis")
        self.linia1=tk.Label(self.root, text="jkfggfkfkfljf")
        self.linia1.pack()
        linia2=tk.Label(self.root, text="jkfggfkfkfljf").pack() 
        linia3=tk.Label(self.root, text="jkfggfkfkfljf").pack()
        linia4=tk.Label(self.root, text="jkfggfkfkfljf").pack()

        przycisk = tk.Button(self.root, text="zapisz",command=self.Usun).pack()

        self.root.mainloop()

    def Usun(self):
        self.linia1.pack_forget()

main = NewUser()
0

Suchy702, dziękuje za pomoc :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1