【发布时间】:2022-12-21 20:19:21
【问题描述】:
如果我点击按钮 'xxx' 启动这个小程序后,它会销毁窗口中除按钮之外的所有小部件 '问候我'... 正如它应该... 但是,如果我在黄色的输入字段中写入一些内容,然后单击“问候我'在那之后在 'xxx'...然后出于某种原因,修改后的'label_x'将不再被删除...另外,如果我在输入框中多次写入一些名称,然后单击'问候我' 它只是写在以前的标签上,而不是先销毁/删除它。 为什么会这样,如何解决?
from tkinter import *
root = Tk()
# Creating an entry box
entry_box = Entry(root, width=10, relief="solid", bg="yellow" )
entry_box.grid(column=0, row=0)
entry_box.insert(3, "type name")
# Creating label widgets
label_x = Label(root, text="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx")
label_x.grid(column=0, row=2)
label_minus = Label(root, text="------------------------------")
label_minus.grid(column=0, row=3)
def greeter():
label_x = Label(root, text="Welcome " + entry_box.get())
label_x.grid(column=0, row=2)
# Creating greeter button
myButton = Button(root, text="greet me", command = lambda: [label_x.destroy(), greeter()])
myButton.grid(column=0, row=1)
x = Button(root, text="xxx", command = lambda: [label_x.destroy(), entry_box.destroy(), label_minus.destroy()])
x.grid(column=0, row=4)
root.mainloop()
【问题讨论】: