显示当前标签消失的前一个

时间:2014-12-26 06:38:32

标签: tkinter

我正在尝试一个程序,该程序将显示在“输入”框中输入的相应名称的标签。 问题:它重叠并显示标签,而不是消失之前的条目标签。 请帮我消失上一个条目并显示标签。 编码:

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()

1 个答案:

答案 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()