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
Autoscrolling beim Bewegen von QGraphicsItems
-
dennisDennis
- Beiträge: 17
- Registriert: 23. September 2011 16:21
Re: Autoscrolling beim Bewegen von QGraphicsItems
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.
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.
-
dennisDennis
- Beiträge: 17
- Registriert: 23. September 2011 16:21
Re: Autoscrolling beim Bewegen von QGraphicsItems
das ist leider die falsche Funktion. Damit verändert man die QGraphicsScene Oberfläche, nicht den sichtbaren Ausschnitt.