Как вызвать функцию в тайм-ауте pyGTK? - PullRequest
1 голос
/ 30 октября 2010

Когда я пытаюсь вызвать функцию, используя тайм-аут в 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 ]

6 голосов
/ 30 октября 2010

Вы вызываете функцию:

self.do_nothing()

Вы хотите передать функцию:

self.do_nothing

Пропустить скобки.

1 голос
/ 24 февраля 2011

попробуйте вместо:

self.check_timing = gobject.timeout_add(500, self.do_nothing, self)
1 голос
/ 30 октября 2010

Передайте self.do_nothing, а не self.do_nothing ()

self.do_nothing is callable 

self.do_nothing () возвращает значение, и это возвращаемое значение не является вызываемым

...