Tkinter button not working (Python 3.x)
Question: I'm working on my final project for my computing I class.

The problem that I am having is:  
When I click on the new entry button, hit the back button and click on the new
entry button once again it **does not work**.

If you guys could tell me why that is?

The command on the button seems to be only working once. Thanks for your help.

**Code:**

    
    
    from tkinter import *
    import tkinter.filedialog
    
    class App(Tk):
    def __init__(self):
        Tk.__init__(self)
        self.title("Entry Sheet")
        self.font = ("Helvetica","13")
        self.header_font = ("Helvetica","18")
        self.exercise_font = ("Helvetica","13","bold")
        self.delete = 'a'
        self.new_user()
    
    
    
    def new_user(self):
        if self.delete == 'b':
            self.delete = 'c'
            self.hide()
    
        self.delete = 'b'
    
        self.new_entry = Button(self, text = 'New Entry', command = self.entry, width = 15)
        self.new_entry.grid(row = 1, column = 0, columnspan = 3, padx = 10, pady = 5)
    
        self.look_entry = Button(self, text = 'See Entries', command = self.see_entries, width = 15)
        self.look_entry.grid(row = 2, column =0, columnspan = 3, padx = 10, pady = 5)
    
    def entry(self):
        print(1)
        self.delete = 'b'
        self.hide()
    
        self.entry = Label(self, text = 'New Entry', font = self.header_font)
        self.entry.grid(row = 0, column = 0, columnspan = 2)
    
        self.numberlbl = Label(self, text = 'Please choose a muscle?', font = self.font)
        self.numberlbl.grid(row = 1, column= 0, columnspan = 2, sticky = 'w' )
    
        self.muscle_chosen = IntVar()
        self.chest = Radiobutton(self, text = "chest", variable = self.muscle_chosen, value = 1, font = self.font)
        self.bicep = Radiobutton(self, text = "bicep", variable = self.muscle_chosen, value = 2, font = self.font)
        self.chest.grid(row = 2, column = 0)
        self.bicep.grid(row = 2, column = 1)
    
        self.exerciseslbl = Label(self, text = 'Please enter the number of exercises: ', font = self.font)
        self.exerciseslbl.grid(row = 3, column = 0, columnspan = 3)
    
        self.exercises_spinbox = Spinbox(self, from_= 1, to_= 50, width = 5, font = self.font)
        self.exercises_spinbox.grid(row = 4, column = 0)
    
        self.back_button = Button(self, text = 'Back', command = self.new_user, width = 10)
        self.back_button.grid(row =5, column=0, pady =10)   
    
    def see_entries(self):
        print("Goes through")
    
    
    def hide(self):
        if self.delete == 'b':
            self.new_entry.grid_remove()
            self.look_entry.grid_remove()
        elif self.delete == 'c':
            self.entry.grid_remove()
            self.numberlbl.grid_remove()
            self.chest.grid_remove()
            self.bicep.grid_remove()
            self.exerciseslbl.grid_remove()
            self.exercises_spinbox.grid_remove()
            self.back_button.grid_remove()
    
    
    def main():
        app = App()
        app.mainloop()
    
    if __name__=="__main__":
        main()
    


Answer: In your `entry` function you overwrite `self.entry`, which is the name of the
function, with a reference to a `Label`. When the button then calls
`self.entry` it isn't function.  
Simply call the `Label` something else.

