gescrollte position des QgraphicScene ermitteln

Alles rund um die Programmierung mit Qt
Antworten
anno1988
Beiträge: 280
Registriert: 23. Januar 2009 20:49

gescrollte position des QgraphicScene ermitteln

Beitrag 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?
franzf
Beiträge: 3114
Registriert: 31. Mai 2006 11:15

Beitrag 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);
anno1988
Beiträge: 280
Registriert: 23. Januar 2009 20:49

Beitrag 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.
Antworten