我在循环中创建数字。在stdout,你可以观察进度,因为循环中有一个print语句。但我想在tkinter文本小部件中使进度可见。所以在每次打印时,我也将新数字复制到一个文本部件中。但在文本部件中,当循环停止时,数字首先显示。
import tkinter as tk
def count():
number = 0
while number<10000:
number += 1
print(number)
text.insert(tk.END, number)
text.see(tk.END)
root = tk.Tk()
text = tk.Text(root)
text.grid()
button = tk.Button(root, text="run", command=count)
button.grid()
root.mainloop()
我希望在文本小部件中看到数字的方式与它们在stdout中显示的方式类似。
2条答案
按热度按时间pkmbmrz71#
有很多方法可以做到这一点,其中之一就是这个。
您可以使用
.after
方法来执行此操作第二种方法是使用
Threading
ru9i0ody2#
这应该可以实现您想要的功能-我已经将其设置为在新的一行上打印每个数字,并在计数完成后取消
after
循环