我想在tkinter上的列表上显示while循环的输出,它将更新列表末尾的输出。在下面的代码中,我列出了从1到100的数字,但我怎么能这样做以便它一次更新一个数字以获得无限的真实循环?
from Tkinter import *
master = Tk()
scrollbar = Scrollbar(master)
scrollbar.pack(side=RIGHT, fill=Y)
listbox = Listbox(master, yscrollcommand=scrollbar.set)
i = 0
while i < 100:
i = i + 1
listbox.insert(END, str(i))
listbox.pack(side=LEFT, fill=BOTH)
scrollbar.config(command=listbox.yview)
mainloop()
答案 0 :(得分:2)
您可以使用mainloop作为循环,并使用after
方法每秒调用一个函数。这是一个最小的例子:
from Tkinter import *
COUNT = 0
def add_one():
global COUNT
COUNT += 1
listbox.insert(END, str(COUNT))
master.after(1000, add_one)
master = Tk()
scrollbar = Scrollbar(master)
scrollbar.pack(side=RIGHT, fill=Y)
listbox = Listbox(master, yscrollcommand=scrollbar.set)
add_one()
listbox.pack(side=LEFT, fill=BOTH)
scrollbar.config(command=listbox.yview)
mainloop()