Python 使用.after时出错

Python 使用.after时出错,python,class,user-interface,tkinter,Python,Class,User Interface,Tkinter,我正在使用tkinter创建一个更新gui。我想使用after()方法更新帧。但是,我收到以下错误: “gui”对象没有“after”属性 我在谷歌上搜索过答案,但没有找到任何能帮助我解决问题的答案 下面的代码只是我的问题的一个例子(真正的代码是很长的时间才能发布): 至少有两个大问题。第一个错误消息“gui object hasnoattributeafter”完美地描述了它。查看您的代码,您的gui类显然没有在函数之后定义 最有可能的情况是,您打算在所有tkinter小部件上存在的函数之后调

我正在使用tkinter创建一个更新gui。我想使用
after()
方法更新帧。但是,我收到以下错误:

“gui”对象没有“after”属性

我在谷歌上搜索过答案,但没有找到任何能帮助我解决问题的答案

下面的代码只是我的问题的一个例子(真正的代码是很长的时间才能发布):


至少有两个大问题。第一个错误消息“gui object hasnoattributeafter”完美地描述了它。查看您的代码,您的gui类显然没有在函数之后定义

最有可能的情况是,您打算在所有tkinter小部件上存在的函数之后调用tkinter
。您需要修改代码,以便在小部件上的
之后调用
。例如:

self.root.after(...)
第二个问题是:

self.after(1000,self.update(simulation_time,job_done,totaljobs,go_is_true))
。。。与此完全相同:

result = self.update(simulation_time,job_done,totaljobs,go_is_true)
self.after(1000, result)
如果要在
之后使用
,必须给它一个函数的引用。函数参数可以显示为附加参数。同时解决这两个问题将为您提供最终的工作版本:

self.root.after(1000, self.update, simulation_time, job_done, totaljobs, go_is_true)

尝试在
self.root
窗口中调用
.after
。通常,您在要影响的特定小部件(或框架等小部件容器)上调用
.after
。抱歉,类/tkinter对我来说还是有点陌生。那么您是说,我不应该执行
更新
函数,而应该使用
\uuuu init\uuuu
中的
.after
每次重新创建根窗口?
self.root.after(1000, self.update, simulation_time, job_done, totaljobs, go_is_true)