Как очистить холст полностью - PullRequest
0 голосов
/ 25 марта 2020

Вот как я объявил эти вещи:

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

Я упомянул элементы пользовательского интерфейса в конструкторе и соответствующие функции очистки. Помимо этого я также вызываю это перед установкой изображения на экране:

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 голосов
/ 25 марта 2020

Я пропустил это утверждение: self.canvas.place_forget ()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...