创建 - 删除按钮

时间:2015-04-26 23:46:18

标签: user-interface button python-3.x tkinter

我尝试使用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()

1 个答案:

答案 0 :(得分:1)

问题是您将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()

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