2010-10-30 8 views
1

Lorsque j'essaie d'appeler une fonction en utilisant un délai d'expiration dans pyGtk, le message d'erreur TypeError: second argument not callable s'affiche. Tout ce que je veux faire est d'appeler une fonction très simple à partir du délai imparti. Pour illustrer mon problème, j'ai simplement préparé la fonction do_nothing pour illustrer mon problème.Comment appeler une fonction dans un délai d'attente pyGTK?

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()) 

qui ne fonctionne pas ...

Qu'est-ce que je fais mal?

+0

Note: Trouvez le fichier entier ici: http://pastie.org/1260638 – Ingo

Répondre

6

Vous appelez la fonction:

self.do_nothing() 

Vous voulez passer la fonction:

self.do_nothing 

Omettre les parenthèses.

+0

Ridiculement simple. Merci! – Ingo

1

col self.do_nothing et non self.do_nothing()

self.do_nothing is callable 

self.do_nothing() retourne une valeur et que la valeur de retour est pas appelable

1

Essayez plutôt:

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