rendered paste bodyvoid MyLabelScene::mouseMoveEvent(QGraphicsSceneMouseEvent *event){ if (event->modifiers().testFlag(Qt::ControlModifier) && is_moved){ QPointF diff = point_buffer - event->scenePos(); point_buffer = event->scenePos(); emit move_viewport(diff); // connected to the translation_requested of the view } else QGraphicsScene::mouseMoveEvent(event);}void MyLabelScene::mousePressEvent(QGraphicsSceneMouseEvent *event){ if (event->modifiers().testFlag(Qt::ControlModifier)){ is_moved = true; point_buffer= event->scenePos(); } else QGraphicsScene::mousePressEvent(event);};void MyLabelScene::mouseReleaseEvent(QGraphicsSceneMouseEvent *event){ is_moved = false; QGraphicsScene::mouseReleaseEvent(event);};void MyLabelView::translation_requested(QPointF p){ qDebug() << p; this->translate(p.x(), p.y()); this->update();}