qmousemovelist.cpp 1000 B

12345678910111213141516171819202122232425262728293031323334353637
  1. #include "qmousemovelist.h"
  2. #include <QMouseEvent>
  3. QMouseMoveList::QMouseMoveList(QWidget *parent):QTableWidget(parent),m_pMouseStart(0,0)
  4. {
  5. setHorizontalScrollMode(ScrollPerPixel);
  6. setVerticalScrollMode(ScrollPerPixel);
  7. }
  8. void QMouseMoveList::mouseMoveEvent(QMouseEvent *event)
  9. {
  10. if (event->buttons()&Qt::MouseButton::LeftButton)
  11. {
  12. QPoint delta = m_pMouseStart - event->pos();
  13. if(horizontalScrollBar())
  14. {
  15. int hValue =horizontalScrollBar()->value();
  16. horizontalScrollBar()->setValue(delta.x() + hValue);
  17. }
  18. if(verticalScrollBar())
  19. {
  20. int vValue = verticalScrollBar()->value();
  21. verticalScrollBar()->setValue(delta.y() + vValue);
  22. }
  23. m_pMouseStart = event->pos();
  24. }
  25. }
  26. void QMouseMoveList::mousePressEvent(QMouseEvent *event)
  27. {
  28. if (event->buttons() & Qt::MouseButton::LeftButton)
  29. {
  30. m_pMouseStart = event->pos();
  31. }
  32. QWidget::mousePressEvent(event);
  33. }