-1

This is how I have declared these things:

        self.win = master
        self.geo = self.win.geometry
        self.geo("800x800+400+400")
        self.win['bg'] = '#DCDCDC'
        self.fig = Figure(figsize=(6, 4), dpi=96)
        self.ax =  self.fig.add_subplot(111)
        self.graph = FigureCanvasTkAgg(self.fig, master=self.win)
        self.canvas = self.graph.get_tk_widget()


        #Image for foot
        self.img = Label(image = "")

def clean_button(self):

        self.play.place_forget()
        self.stop.place_forget()
        self.scale.place_forget()




    def clean_img(self):
        self.img.config(image='')


    def clean_flush(self):

        self.fig.canvas.draw()
        self.fig.canvas.flush_events()

I have mentioned UI elements in constructor and relevant cleaning functions. Apart from this I also call this before setting an image on screen:

self.graph.get_tk_widget().delete("all")

However, this leaves white space in the backend enter image description here

Im calling these functions before this:

       self.clean_flush()
        self.clean_button()
        self.clean_img()

before this:

load = Image.open('centertext_out.png')
    load= load.resize((500, 500), Image.ANTIALIAS)
    render = ImageTk.PhotoImage(load)

    self.img = Label( image=render)
    self.img.image = render
    self.img.place(x=150, y=5)
pink puffles
  • 93
  • 1
  • 10
  • Does this answer your question? [Issue clearing the Tkinter Canvas widget using also matplotlib](https://stackoverflow.com/questions/13820748/issue-clearing-the-tkinter-canvas-widget-using-also-matplotlib) – stovfl Mar 25 '20 at 08:50

1 Answers1

0

I missed this statement : self.canvas.place_forget()

pink puffles
  • 93
  • 1
  • 10