Как заставить кнопку уничтожить себя? - PullRequest
0 голосов
/ 14 февраля 2020

Как сделать так, чтобы кнопка уничтожения уничтожала себя с помощью функции destroy (), и при этом была возможность создавать новую кнопку уничтожения с помощью кнопки создания?

from tkinter import Button, Tk

def create():
    b2 = Button(root, text='Destroy', command=destroy)
    b2.pack()

def destroy():
    b2.destroy()

root = Tk()

b1 = Button(root, text='Create', command=create)
b1.pack()

root.mainloop()

1 Ответ

1 голос
/ 14 февраля 2020

Попробуйте это:

from tkinter import *

def create():
    b = Button(root, text='Destroy')
    b.config(command=destroy(b))
    b.pack()

def destroy(button):
    def inner():
        button.destroy()
    return inner

root = Tk()

b1 = Button(root, text='Create', command=create)
b1.pack()

root.mainloop()

Мы создаем различные функции обратного вызова для каждой новой кнопки, поэтому нам не нужно беспокоиться о границах, и у нас может быть больше, чем просто уничтожаемая кнопка.

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