PyQt4 - anlegen eines timer
Tut mir Leid für die Frage aber ich habe gelesen, ein paar Dinge und es scheint, dass ich nicht bekommen, wie man einen timer. So bin ich Entsendung mein code:
from PyQt4 import QtGui, QtCore
from code.pair import Pair
from code.breadth_first_search import breadth_first_search
import functools
class Ghosts(QtGui.QGraphicsPixmapItem):
def __init__(self, name):
super(Ghosts, self).__init__()
self.set_image(name)
def chase(self, goal):
pos = Pair(self.x(), self.y())
path = breadth_first_search(pos, goal)
while not path.empty():
aim = path.get_nowait()
func = functools.partial(self.move_towards, aim)
timer = QtCore.QTimer()
QtCore.QTimer.connect(timer, QtCore.SIGNAL("timeout()"), self, QtCore.SLOT("func()"))
timer.start(200)
def move_towards(self, goal):
self.setPos(goal.first(), goal.second())
Ich versuche, um das Objekt in Richtung seiner Ziel jedes 200ms.
Ich habe versucht, ohne selbst es gibt mir die gleichen Fehler:
QObject.connect(QObject, SIGNAL(), QObject, SLOT(), Qt.ConnectionType=Qt.AutoConnection): argument 3 has unexpected type 'bytes'
QObject.connect(QObject, SIGNAL(), callable, Qt.ConnectionType=Qt.AutoConnection): argument 3 has unexpected type 'bytes'
QObject.connect(QObject, SIGNAL(), SLOT(), Qt.ConnectionType=Qt.AutoConnection): argument 2 has unexpected type 'bytes'
Ich habe keine Ahnung, wie verbinden Sie den timer für eine Funktion mit Argumenten.
Ich dachte, dass ich nicht mit den SLOT-argument Recht, aber es gab mir diese mystakes. Ich nehme an, es ist alles falsch. Ich würde schätzen etwas Hilfe : )
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nutzung der neuen Stil-Signale, Sie sind einfacher zu verstehen.
Swap -
Mit -
Ein einfaches, aber vollständiges Beispiel für eine funktionierende timer -
timer.timeout.connect(func)
aber es hat nicht funktioniert entweder. Als ich versuchteQtCore.QTimer.singleShot(200, func)
es funktioniert, aber es macht eine Bewegung und Stoppt dann.