Python Tkinter 将输出附加到列表
Python Tkinter append the output to a list
我想在 tkinter 上的列表上显示 while true 循环的输出,这将更新列表末尾的输出。在下面的代码中,我列出了从 1 到 100 的数字,但是我怎样才能让它一次更新一个数字以实现无限的 while true 循环?
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()
您可以使用主循环作为循环,并使用 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()
我想在 tkinter 上的列表上显示 while true 循环的输出,这将更新列表末尾的输出。在下面的代码中,我列出了从 1 到 100 的数字,但是我怎样才能让它一次更新一个数字以实现无限的 while true 循环?
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()
您可以使用主循环作为循环,并使用 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()