Seite 1 von 1

Autoscrolling beim Bewegen von QGraphicsItems

Verfasst: 26. September 2011 10:33
von dennisDennis
Hallo QtFreunde,

ich habe eine QGraphicsScene mit mehreren QGraphicsItems, die sich mit der Maus verschieben lassen.
Die Scene ist viel größer als der gezeigte Ausschnitt auf dem Bildschirm.
Wie bringt man den QGraphicsView zum automatischen Scrollen, wenn ein Graphicsitem an den Rand des GraphicsView gezogen wird?

Ich mache es zur Zeit mit QGraphicsView::ensureVisible() im MouseMoveEvent. Allerdings ist das Ergebnis nicht zufriendenstellend, da bei einem horizontalen Verschieben des Graphicsitems am Rand gleichzeitig horizontal und vertikal gescrollt wird.

Gruß
Dennis

Re: Autoscrolling beim Bewegen von QGraphicsItems

Verfasst: 26. September 2011 14:39
von toba
versuchs mal mit
setSceneRect(QRect(0,0,0,0)); (int width, int height auf 0, die 2 am Anfang (int x,int y) eig. egal.)
Bei mir wurden dann immer automatisch scrollbalken angelegt sobald ein Item aus dem Sichtbaren bereich gezogen wurde.

Re: Autoscrolling beim Bewegen von QGraphicsItems

Verfasst: 26. September 2011 15:57
von dennisDennis
das ist leider die falsche Funktion. Damit verändert man die QGraphicsScene Oberfläche, nicht den sichtbaren Ausschnitt.