例如:
for i in range(10000):
canvas.create_text(10*i,100,text='test',fill='red')
運行這部分時,主視窗卡住了。加載文本時如何避免它?
uj5u.com熱心網友回復:
您可以使用after()來替換 for 回圈,這樣它就不會阻塞 tkinter mainloop:
def show_text(n=0):
# show 20 text in each iteration
for i in range(20):
y, x = divmod(n i, 20)
canvas.create_text(x*50, y*10, text='test', fill='red', anchor='nw')
n = 20
if n < 10000:
canvas.after(1, show_text, n)
show_text() # start the after() loop
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/401002.html
