Seite 1 von 1

QGraphicsView + QDrag + Scrollen

Verfasst: 26. Januar 2011 14:15
von dazedly
Ich bin momentan am rausfinden, wie ich das QGraphicsView dazu bringen soll zu scrollen, wenn ich beim draggen eines Items entweder das Mausrad bewege, oder wenn ich an den Rand gehe.
Leider blockiert mir QDrag alle anderen events.

Verfasst: 26. Januar 2011 17:17
von upsala
dragLeave, dragMove, dragEnter-Events?

Verfasst: 26. Januar 2011 18:13
von dazedly
Ja die sind aktiv, aber damit kann ich nicht wirklich etwas anfangen. Das wheelEvent bringt mich leider nicht weiter. Ich muss irgendwie scrollen können mit dem Item im drag...

Verfasst: 27. Januar 2011 13:02
von dazedly
Mir würde es ja fast schon reichen, wenn ich autoscroll irgendwie aktivieren könnte. Er soll scrollen, wenn ich mit einem QDrag an den Rand gehe...

Verfasst: 31. Januar 2011 15:57
von dazedly
*Push* Hat niemand ne Idee, wie ich autoscroll aktivieren kann, oder muss ich das zwingend selbst implementieren?

Verfasst: 31. Januar 2011 16:41
von upsala
QGraphicsView hat kein AutoScroll.

Verfasst: 1. Februar 2011 09:24
von Exasperation
Schau dir an, wie es in der abstractitemview.cpp gemacht wird und pass es entsprechend deiner Bedürfnisse an. Dort gibt es für das AutoScroll margins und es wird jeweils currentIndex gescrollt, das muss bei dir dann eben eine Verschiebung in die entsprechende Richtung sein.
Musst das wohl selbst implementieren und dann eben die aktuelle Cursorposition abfragen und die Ansicht in die entsprechende Richtung verschieben.