我做了一个窗口和清单。我想输出数字并使它们每隔一秒消失一次。
list1={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20}
def Display_num():
for i in range(20):
display=tkinter.Label(window, text=list1[i],width=25, height=3,fg="black",relief="solid")
display.pack()
display.after(1000,display.destroy)
但是,当我运行该程序时,标签同时打印并消失。我该如何解决?
答案 0 :(得分:0)
import tkinter as tk
def loop(lbl, ls, flash: bool = False):
if ls:
if not flash:
val, *ls = ls
lbl.config(text=val)
lbl.after(1000, loop, lbl, ls, not flash)
else:
lbl.config(text=" ")
lbl.after(250, loop, lbl, ls, not flash)
else:
lbl.config(text="Fin")
root = tk.Tk()
label = tk.Label(root, text="Default")
label.pack()
loop(label, [1, 2, 3, 4, 5, 6, 7, 8, 9])
root.mainloop()
当列表不为空时,每秒更新一次标签。列表为空后,它将标签文本设置为fin
。
根据评论请求在数字之间添加了简短的“闪烁”。