【问题标题】:How to clear out canvas completely如何彻底清除画布
【发布时间】:2020-07-05 18:42:00
【问题描述】:

这就是我声明这些东西的方式:

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

但是,这会在后端留下空白

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

       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)

【问题讨论】:

标签: python tkinter


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2023-03-14
    • 1970-01-01
    • 2018-11-01
    • 2014-10-06
    • 2013-10-05
    • 1970-01-01
    • 1970-01-01
    • 2021-07-22
    • 2012-10-14
    相关资源
    最近更新 更多