删除标签文本并在单击按钮时设置新的标签文本

时间:2019-01-23 14:31:19

标签: python tkinter label

我制作了一个较小的程序,以帮助排除主程序的故障。在此程序中,我希望在显示新标签文本之前删除先前的标签文本。这很重要,因为如果将旧标签文本保留在标签中,则文本最终会彼此重叠。

from tkinter import *

root = Tk()

root.geometry("400x200")

def onButtonClick():
    while True:
        answerLabel = Label(root, text=wordEntry.get())
        answerLabel.grid(row=1, column=1)
        break


enterWordLabel = Label(root, text="Enter a word")
enterWordLabel.grid(row=0, column=0)

wordEntry = Entry(root)
wordEntry.grid(row=0, column=1)

enterButton = Button(root, text="Enter", command=onButtonClick)
enterButton.grid(row=0, column=2)

root.mainloop()

This is what happens when I enter "Goodbye" first, then "Hello"

1 个答案:

答案 0 :(得分:1)

每个小部件都有一个configure方法,该方法可让您更改其属性。代码中的问题是您创建了新标签,而不是更改现有标签的文本。

正确的解决方案是一次创建answerLabel,然后在脚本中调用configure方法:

...
answerLabel = Label(root, text="")
answerLabel.grid(row=1, column=1)
...

def onButtonClick():
    answerLabel.configure(text=wordEntry.get())