创建-删除按钮

Create-Delete Buttons

我正在尝试使用 python 版本 3.3 在 Tkinter 中制作两个按钮,一个用于创建按钮,一个用于删除所述按钮。到目前为止它一直在工作,除了如果我创建多个按钮我只能删除一个创建的按钮这一事实。我的问题是:每次调用删除按钮时,我能做些什么来删除按钮? 到目前为止,这是我的代码:

from tkinter import *
def createbutton():
    global secondbut
    secondbut=Button(root,text="button")
    secondbut.pack()
def eliminatebutton():
    secondbut.destroy()
if __name__=='__main__':
    root=Tk()
    global create
    global delete
    create= Button(root,text="create",command=createbutton)
    delete=Button(root,text="delete",command=eliminatebutton)
    create.pack()
    delete.pack()
    root.mainloop()

问题是您将 Button 存储在变量 (secondbut) 中,然后在创建新按钮时覆盖该变量。

与其直接将其存储在变量中,不如将其存储在某个容器中,例如列表。

此代码将执行您想要的操作:

from tkinter import *
def createbutton():
    global secondbut
    secondbut.append(Button(root,text="button"))
    secondbut[-1].pack()
def eliminatebutton():
    secondbut[-1].destroy()
    secondbut.pop()
if __name__=='__main__':
    root=Tk()
    global create
    global delete
    global secondbut
    secondbut = []
    create= Button(root,text="create",command=createbutton)
    delete=Button(root,text="delete",command=eliminatebutton)
    create.pack()
    delete.pack()
    root.mainloop()

请注意,它会按相反 添加按钮的顺序删除按钮。