Seite 1 von 1

gescrollte position des QgraphicScene ermitteln

Verfasst: 30. Mai 2010 13:45
von anno1988
Hallo,

ich will herausfinden, an welcher Position sich das QGraphicsScene Objekt der QGraphicsView Klasse befindet, sobald gescrollt wurde.

Ich habe mal versucht über folgende Aufruf die aktuelle Position zu ermitteln, allerdings ohne Erfolg.

Code: Alles auswählen

scene()->sceneRect().y() //diese Koordinate bleibt immer 0
Eigentlich hätte ich erwartet, dass diese y-Koordinate negativ wird, sobald nach unten gescrollt wird. Allerdings ist das nicht der Fall.
Über die Scrollbar kann ich es auch nicht herausfinden, da sich der Maximalwert der Scrollbar je nach Höhe des QGraphicsView Objekt's verändert.

Hat da jemand eine Idee wie ich das herausfinde?

Verfasst: 30. Mai 2010 14:18
von franzf
Warum willst du das wissen?
Und über die Scene hast du keine Chance, die hat ihr eigenes Koordinatensystem und kennt keine "eine" View, eine scene kann bekanntlich in mehreren views gleichzeitig angezeigt werden. Deshalb musst du für dein Problem über die view gehen.
Z.B. nimmst du

Code: Alles auswählen

QPointF sceneScrollPos = view->mapToScene(0,0);

Verfasst: 30. Mai 2010 14:27
von anno1988
ich will einfach wissen, was die angezeigte Oberkante ist, die man nach dem scrollen sehen kann.

Ja, thx.

Mit mapFromScene(0, 0) funktioniert es.