【发布时间】:2020-10-23 12:06:14
【问题描述】:
我有一个 tkinter 程序,我试图通过将所有内容放在一个列表中然后使用 grid_forget() 迭代来从屏幕上删除所有内容。这可行,但我之后有一个计时器,它将所有内容重新显示在屏幕上。由于某些原因,它首先通过计时器,然后清除屏幕,这是毫无意义的,因为它会立即将所有内容放回原处。这是一段代码:
items = [rollingFrame, savingFrame, score_frame, rerollButton, logoLabel, remainingRolls]
for item in items:
item.grid_forget()
turnLabel = Label(root, text="turn {}".format(turn, 0), bg="lime green", anchor="center")
turnLabel.grid(row=0, column=0, pady=300, padx=500)
previousTime = time.time()
while (time.time() - previousTime) < 3:
print(time.time()-previousTime)
turnLabel.grid_forget()
【问题讨论】:
-
while 循环阻止 tkinter 更新。在while循环之前添加
turnLabel.update()。
标签: tkinter python-3.7