Seite 1 von 1

QGraphicsView verschieben

Verfasst: 7. Juli 2009 16:07
von QAir
Hallo zusammen,

ich habe hier im Forum schon einige Beiträge zum Thema gelesen, jedoch keine eindeutige und funktionierende Lösung gefunden. Vielleicht hat man mittlerweile eine gefunden?
Es geht darum, mit gedruckter Maustaste die View hin und her zu schieben.

Code: Alles auswählen

void MyGraphicsView::mousePressEvent(QMouseEvent* event)
{
	lastPoint = event->pos();
}

void MyGraphicsView::mouseMoveEvent(QMouseEvent * event)
{
	QRectF rect = this->rect();
	double x = rect.x();
	double y = rect.y();
	double w = rect.width() * 2;
	double h = rect.height() * 2;
	this->setSceneRect(x,y,w,h);

	QPoint p = event->pos();
	this->setTransformationAnchor(QGraphicsView::NoAnchor);
	translate(p.x() - lastPoint.x(), p.y() - lastPoint.y() );
}
Die View wird zwar verschoben, hat aber ein "komisches Verhalten", schiebt sich nur nach unten und oben auch wenn man die Maus seitlich oder schräg bewegt. Kann mir da jemand helfen???