如何在pyGTK超时中调用函数?

时间:2010-10-30 19:32:40

标签: python pygtk

当我尝试在pyGtk中使用超时调用函数时,收到错误消息TypeError: second argument not callable。 我想做的就是在超时内调用一个非常简单的函数。为了说明我的问题,我只是准备了函数do_nothing来说明我的问题。

def do_nothing(self):
    return True

# Do interval checks of the timer
def timed_check(self, widget):
    self.check_timing = gobject.timeout_add(500, self.do_nothing())

哪个不起作用......

我做错了什么?

3 个答案:

答案 0 :(得分:6)

你正在调用这个函数:

self.do_nothing()

你想传递这个功能:

self.do_nothing

省略括号。

答案 1 :(得分:1)

传递self.do_nothing而不是self.do_nothing()

self.do_nothing is callable 

self.do_nothing()返回一个值,该返回值不是可调用的

答案 2 :(得分:1)

尝试改为:

self.check_timing = gobject.timeout_add(500, self.do_nothing, self)