Нужно чтоб значения scrollBar-ов можно было изменять не только по непосредственному нажатию на него, но и по нажатию на любую точку graphicsView и перемещению курсора мыши при нажатой кнопке.
Пробовал так, но работает очень криво:
void GraphicsView::mousePressEvent(QMouseEvent * event)
{
if(event->button() == Qt::LeftButton)
{
pressPoint = event->pos();
isPressed=true;
}
QGraphicsView::mousePressEvent(event);
}
void GraphicsView::mouseMoveEvent(QMouseEvent *event)
{
if(isPressed)
{
int oldX = pressPoint.x();
int oldY = pressPoint.y();
int newX = event->pos().x();
int newY = event->pos().y();
newX=(oldX-newX);
newY=(oldY-newY);
int verticalScrollValue = this->verticalScrollBar()->value();
verticalScrollBar()->setValue(verticalScrollValue +newY);
int horizontalScrollValue = this->verticalScrollBar()->value();
horizontalScrollBar()->setValue(horizontalScrollValue +newX);
qDebug()<<newX<<newY;
qDebug()<<verticalScrollValue<<horizontalScrollValue;
}
QGraphicsView::mousePressEvent(event);
}
void GraphicsView::mouseReleaseEvent(QMouseEvent *event)
{
isPressed=false;
QGraphicsView::mouseReleaseEvent(event);
}