如何彻底清除画布

时间:2020-03-25 08:23:01

标签: python tkinter

这就是我声明这些内容的方式:

        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()

我在构造函数和相关的清理函数中提到了UI元素。除此之外,在设置屏幕图像之前,我还称呼它为

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

但是,这在后端留有空白 enter image description here

我在此之前调用了这些函数:

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

在此之前:

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)

1 个答案:

答案 0 :(得分:0)

我错过了这个声明:self.canvas.place_forget()