看起来应该如此简单的东西给了我一个很大的问题。我有一个Tkinter GUI,我试图定期更新。具体来说,我正在从画布上删除项目并替换它们。作为一个例子,虽然我只是试图打印一个证明after函数正常工作的语句。当我放置一个按钮并单击它时,事情很有效,但我想使用after()函数自动完成。我没有太多运气让它工作。
class app():
def __init__(self, frame):
self.pad = tk.Canvas(frame)
self.pad.create_window(10, 10, window=tk.Button(self.pad,command=update)
self.pack(fill="both")
#More Stuff
#Neither one worked
frame.after(1000,update)
#self.pad.after(1000,update)
def update(self):
print "Updating"
#More Stuff
if __name__=="__main__":
root = tk.TK()
app(root)
root.mainLoop()
当然,这不是完整的代码,但希望看到我想要做的事情就足够了。因此,当我点击按钮时,我会看到"更新"出现。但是当我使用后功能时,它会在开始时出现,而不会再出现。我也使用Python 2.4.4版,不要判断我没有发言权哈哈。感谢您的帮助!