Как удалить экземпляр класса?

вот код
from tkinter import*

class But():
    def __init__(self,root,coords):
        bt = Button(root, text="gg", command=self.a)
        bt.grid(row=1,column=coords)
    def a(self):
        print("bt")

class Window():
    def __init__(self):
        self.root = Tk()
        self.root.title("client")
        self.root.geometry("500x300")
        self.root.iconbitmap(r"images/client.ico")

        self.root["bg"] = "gray22"
        But(self.root, 1)
        But(self.root, 2)

        self.root.mainloop()

if __name__ == "__main__":
    Window()
  • Вопрос задан
  • 121 просмотр
Решения вопроса 1
@o5a
Если речь про то, чтобы при нажатии удалять кнопки, то нужно использовать метод destroy()
Но для этого где-то нужно сохранять эти созданные в init кнопки, сейчас они никуда не привязаны.
Например
self.bt = Button(root, text="gg", command=self.a)
# и потом для удаления можно будет сделать
self.bt.destroy()

Или же унаследовать этот класс кнопки, чтобы сам объект был кнопкой
class But(Button):
    def __init__(self,root,coords):
        super().__init__(root, text="gg", command=self.a)
        self.grid(row=1, column=coords)
    def a(self):
        print("bt")
        self.destroy()
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы