Seite 1 von 1

Herausfinden, ob Mauszeiger über QGraphicsView oder QGraphicsScene ist

Verfasst: Donnerstag 14. Juni 2018, 07:29
von Patrick1990
Hallo,

ich habe eine GUI mit zwei QGraphicsView-Fenstern. Dort habe ich eine Zoom-Funktion mit Hilfe des Mausrades implementiert. Nun möchte ich aber ledigliech zoomen können, wenn sich der Mauszeiger über dem Fenster befindet.
Habe leider bisher noch keine Möglichkeit gefunden, wie ich das abfragen kann.
Folgende Code-Zeile lässt jedoch die Gestalt des Maus-Cursors ändern, wenn der Cursor sich im Fenster befindet:

Code: Alles auswählen

self.graphicsView.setDragMode(Widgets.QGraphicsView.ScrollHandDrag)
Eventuell wisst ihr ja, wie ich das realisieren kann.

Re: Herausfinden, ob Mauszeiger über QGraphicsView oder QGraphicsScene ist

Verfasst: Donnerstag 14. Juni 2018, 07:48
von __deets__
Du solltest mouse enter & leave events bekommen können durch einen Event Filter. Der legt dann fest, ob’s gerade gehen soll.

Re: Herausfinden, ob Mauszeiger über QGraphicsView oder QGraphicsScene ist

Verfasst: Donnerstag 14. Juni 2018, 10:15
von Patrick1990
Klappt für ein Fenster super, wie unterschiede ich nun die zwei Fenster innerhalb des Filters?
Habe das so gedacht:

Code: Alles auswählen

def eventFilter(self, recieved_object, event):
	if recieved_object.objectName() == "Scene1":
		...
usw., jedoch bekomme ich so nicht die Grafikfenster unterschieden.

Re: Herausfinden, ob Mauszeiger über QGraphicsView oder QGraphicsScene ist

Verfasst: Donnerstag 14. Juni 2018, 13:16
von __deets__
Dafuer brauchst du ein Filter pro Fenster denke ich mal. Das kann ja eine Implementierung sein, der du das gewuenschte Objekt einfach mitgibst.

Re: Herausfinden, ob Mauszeiger über QGraphicsView oder QGraphicsScene ist

Verfasst: Montag 18. Juni 2018, 11:28
von Patrick1990
Habs gelöst, vielen Dank.