我制作了一个较小的程序,以帮助排除主程序的故障。在此程序中,我希望在显示新标签文本之前删除先前的标签文本。这很重要,因为如果将旧标签文本保留在标签中,则文本最终会彼此重叠。
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()
答案 0 :(得分:1)
每个小部件都有一个configure
方法,该方法可让您更改其属性。代码中的问题是您创建了新标签,而不是更改现有标签的文本。
正确的解决方案是一次创建answerLabel
,然后在脚本中调用configure
方法:
...
answerLabel = Label(root, text="")
answerLabel.grid(row=1, column=1)
...
def onButtonClick():
answerLabel.configure(text=wordEntry.get())