【发布时间】:2019-01-23 14:31:18
【问题描述】:
我制作了一个较小的程序来帮助对主程序进行故障排除。在这个程序中,我希望在显示新标签文本之前删除以前的标签文本。这很重要,因为如果您将旧标签文本留在标签中,文本最终会相互重叠。
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()
【问题讨论】:
-
我已经好几年没用python了,怎么还有一个while语句?在我看来,当您在第一次运行时将其中断时,它不会做任何事情,因此有效地将循环取出。此外,您可能会在此找到答案:stackoverflow.com/a/17126015/2793683
-
“最终相互重叠”:您在每个
command=onButtonClick上叠加了Label。您必须先创建Label一次 或.destroy()前一个Label,然后再创建一个新的。