【发布时间】:2016-04-30 10:48:24
【问题描述】:
我是 tkinter 的新手,正在编写一个在画布上绘制五行的简单骨架程序。我希望在每个新行之后更新画布。我快到了(!),但是在计算完所有行之前,画布不会更新。所有关于如何修复我的代码的建议将不胜感激。谢谢!
from tkinter import *
from time import sleep
class app():
def __init__(self):
self.root = Tk()
self.canvas = Canvas(self.root, width=300, height=300)
self.canvas.pack()
self.go()
self.root.mainloop()
def go(self):
for i in range(5):
self.drawLine(i)
sleep(1) # simulate computation of next value
def drawLine(self, n):
self.canvas.create_line(0, 0, 50, n * 50 + 10)
# now I would like canvas to be updated with the new line added
app()
【问题讨论】:
-
self.root.update() 在 drawLine 方法的末尾应该可以解决问题。
-
谢谢,现在代码可以正常工作了。