我正在尝试一个程序,该程序将显示在“输入”框中输入的相应名称的标签。 问题:它重叠并显示标签,而不是消失之前的条目标签。 请帮我消失上一个条目并显示标签。 编码:
import Tkinter as tki
class App(object):
def __init__(self,root):
self.root = root
self.txt_frm = tki.Frame(self.root, width=900, height=900)
self.txt_frm.pack(fill="both", expand=True)
button3 = tki.Button(self.txt_frm,text="CLICK 1", command = self.retrieve_inpu)
button3.grid(column=0,row=2)
self.entry = tki.Entry(self.txt_frm)
self.entry.grid(column=1,row=0)
def retrieve_inpu(self):
entr = self.entry.get()
label = tki.Label(self.txt_frm,text=entr)
label.grid(column=0,row=3)
root = tki.Tk()
app = App(root)
root.mainloop()
答案 0 :(得分:1)
您需要保留对标签的引用,并在其上调用.destroy()
以在创建新Label之前将其删除。
更好的是,如果需要发生这种情况,您可以更改文本。请尝试使用以下代码代替您自己的代码:
import Tkinter as tki
class App(object):
def __init__(self,root):
self.root = root
self.txt_frm = tki.Frame(self.root, width=900, height=900)
self.txt_frm.pack(fill="both", expand=True)
button3 = tki.Button(self.txt_frm,text="CLICK 1", command = self.retrieve_inpu)
button3.grid(column=0,row=2)
self.entry = tki.Entry(self.txt_frm)
self.entry.grid(column=1,row=0)
self.label = tki.Label(self.txt_frm)
self.label.grid(column=0,row=3)
def retrieve_inpu(self):
entr = self.entry.get()
self.label.config(text=entr)
root = tki.Tk()
app = App(root)
root.mainloop()