3 Stimmen

nicht blockierende Zeitgeber in Python

Ich entwickle eine Anwendung in Python mit pyGtk+Glade.

Ich möchte eine Funktion alle N Sekunden ausführen lassen (genau wie in Javascript die Funktion setTimeout()). Wenn der Benutzer einen Klick ausführt, muss eine Aktion ausgeführt werden, und der Timer muss zurückgesetzt werden.

Ich habe es mit threading.Timer in etwa so:

def callback():
    print "callback executed"

t = threading.Timer(10.0, callback)
t.start()

aber es funktioniert bei mir nicht, weil es alles für die N-Sekunden blockiert und den Benutzer-Klick nicht erfasst.

Gibt es eine andere Möglichkeit?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X