Ich weis nicht wie ich die Anweisung geben kann das pro eine bestimmte Zeit etwas geschehen soll (hier das runterbewegen der Figuren)
Kann mir jem. raueshelfen?

Code: Alles auswählen
import threading, time
class T (threading.Thread):
def run(self):
while 1:
mache_etwas()
time.sleep(0.1)
Code: Alles auswählen
t = T()
t.start()
Code: Alles auswählen
import threading, time
class T (threading.Thread):
def __init__(self):
threading.__init__(self)
self._paused = 0
def run(self):
while 1:
if (self._paused): continue
mache_etwas()
time.sleep(0.1)
Code: Alles auswählen
t._paused = 1
Code: Alles auswählen
t._paused = 0
Code: Alles auswählen
t = T()
t.start()
t._paused = 1 # pause
t._paused = 0 # weiter
Dies ist eine ganz üble Warteschleife, die 100% der Rechnenleistung frist und die es zu vermeiden gilt. Es wird auch in Python bessere Wege geben, einen Thread anzuhalten, etwa indem man auf eine Semaphore wartet.Birne94 hat geschrieben:Code: Alles auswählen
while 1: if (self._paused): continue
Code: Alles auswählen
import threading, time
class T (threading.Thread):
def __init__(self):
threading.__init__(self)
self._paused = 0
def run(self):
while 1:
if (self._paused): continue
time.sleep(0.1)
mache_etwas()
Code: Alles auswählen
import threading, time
class T (threading.Thread):
def __init__(self):
threading.__init__(self)
self._paused = 0
def run(self):
while 1:
time.sleep(0.1)
if (not self._paused):
mache_etwas()
Ich denke, du verwechselt hier Signale mit Ereignissen. Ereignisse, die vom Rahmenwerk (ich wollte dieses Wort auch mal verwenden, smaDasIch hat geschrieben:@sma Deswegen ist ja noch das time.sleep mit drinTrotzdem unschön gerade bei GUI Toolkits sollte das mit Events machbar sein, bei PyQt4 ist dass aufjedenfall kein Problem im Thread auf ein Event zu reagieren.