Ich versuche in meinem QGraphicsView die Mouse Events auf eingefügte rectItems abzufangen. Letztendlich soll man sie per Klick verschieben können.
Leider fängt meine View schon die Klicks ab und reicht sie nicht auf das unter der Maus befindliche Item weiter.
Ich meinem Fall sind die Items von der Klasse QGraphicsRectItem abgeleitet.
Code: Alles auswählen
class GatAnd(QtGui.QGraphicsRectItem):
def __init__(self, scene, parent, x, y):
super(QtGui.QGraphicsRectItem, self).__init__(None, scene)
self.setCursor(QtCore.Qt.IBeamCursor)
def mouseMoveEvent(self, event):
print("mouseMoveEvent")
def mousePressEvent(self, event):
print("mousePressEvent")
def sceneEvent(self, event):
print("sceneEvent")
return True
def hoverMoveEvent(self, event):
print("hoverMoveEvent")
Hinzugefügt wird das Item nicht per scene.addItem(), sondern erscheint direkt auf der Scene, wenn ich eine Instanz des Objekts in einer Variable referenziere:
Code: Alles auswählen
newElem = elements.GatAnd(self.scene, None, x, y)
Qdeep
PS: Das einzige Event, das durchkommt, ist das sceneEvent, allerdings nur beim Rechtsklick auf das Item...