这就是我想要做的。非常简单的代码。逐渐从一点到另一点画线。这是我的代码:
from Tkinter import *
import time
mGui = Tk()
mGui.title('GUI Example')
mGui.geometry('1024x576+10+30')
#Canvas
canvas_1 = Canvas(mGui,height=500,width=500,bg='grey')
for i in range(1, 500):
time.sleep(0.5)
canvas_1.create_line(0,0,i,i)
canvas_1.update()
canvas_1.pack()
mGui.mainloop()
我的窗口只保持空白0.5 * 500秒(250秒),然后画布显示绘制的线条。我究竟做错了什么?
答案 0 :(得分:1)
你需要在开始循环之前在画布上调用pack
方法:
from Tkinter import *
import time
mGui = Tk()
mGui.title('GUI Example')
mGui.geometry('1024x576+10+30')
#Canvas
canvas_1 = Canvas(mGui,height=500,width=500,bg='grey')
#################
canvas_1.pack()
#################
for i in range(1, 500):
time.sleep(0.5)
canvas_1.create_line(0,0,i,i)
canvas_1.update()
mGui.mainloop()
否则,在循环退出之前,画布不会放在窗口上。