#include "mousemovewidget.h" #include MouseMoveWidget::MouseMoveWidget(QWidget *parent) : QWidget(parent),m_pMouseStart(0,0),m_pHScrollBar(nullptr),m_pVScrollBar(nullptr) { } void MouseMoveWidget::SetScrollBar(QScrollBar *pHScrollBar, QScrollBar *pVScrollBar) { m_pHScrollBar=pHScrollBar; m_pVScrollBar=pVScrollBar; } void MouseMoveWidget::mouseMoveEvent(QMouseEvent *event) { if (event->buttons()&Qt::MouseButton::LeftButton) { QPoint delta = m_pMouseStart - event->pos(); if(m_pHScrollBar) { int hValue =m_pHScrollBar->value(); m_pHScrollBar->setValue(delta.x() + hValue); } if(m_pVScrollBar) { int vValue = m_pVScrollBar->value(); m_pVScrollBar->setValue(delta.y() + vValue); } m_pMouseStart = event->pos(); } } void MouseMoveWidget::mousePressEvent(QMouseEvent *event) { if (event->buttons() & Qt::MouseButton::LeftButton) { m_pMouseStart = event->pos(); } QWidget::mousePressEvent(event); }