QGraphicsView verschieben

Alles rund um die Programmierung mit Qt
Antworten
QAir
Beiträge: 6
Registriert: 7. Juli 2009 14:01

QGraphicsView verschieben

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