#include "qmousemovelist.h" #include QMouseMoveList::QMouseMoveList(QWidget *parent):QTableWidget(parent),m_pMouseStart(0,0) { setHorizontalScrollMode(ScrollPerPixel); setVerticalScrollMode(ScrollPerPixel); } void QMouseMoveList::mouseMoveEvent(QMouseEvent *event) { if (event->buttons()&Qt::MouseButton::LeftButton) { QPoint delta = m_pMouseStart - event->pos(); if(horizontalScrollBar()) { int hValue =horizontalScrollBar()->value(); horizontalScrollBar()->setValue(delta.x() + hValue); } if(verticalScrollBar()) { int vValue = verticalScrollBar()->value(); verticalScrollBar()->setValue(delta.y() + vValue); } m_pMouseStart = event->pos(); } } void QMouseMoveList::mousePressEvent(QMouseEvent *event) { if (event->buttons() & Qt::MouseButton::LeftButton) { m_pMouseStart = event->pos(); } QWidget::mousePressEvent(event); }