myview.h 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. #ifndef MYVIEW_H
  2. #define MYVIEW_H
  3. #include <qtimer.h>
  4. #include <qpainter.h>
  5. #include <QGraphicsView>
  6. #include <QWheelEvent>
  7. #include <QKeyEvent>
  8. #include <QPoint>
  9. #include <QPointF>
  10. #include <QGraphicsItem>
  11. #include <QKeyEvent>
  12. #include <QGestureEvent>
  13. #include <QPinchGesture>
  14. class MyView : public QGraphicsView
  15. {
  16. Q_OBJECT
  17. public:
  18. explicit MyView(QWidget *parent =0);
  19. qreal x, y, beishu;
  20. void zoomone();
  21. protected:
  22. void wheelEvent(QWheelEvent *event) Q_DECL_OVERRIDE;
  23. void mouseMoveEvent(QMouseEvent *event) Q_DECL_OVERRIDE;
  24. void mousePressEvent(QMouseEvent *event) Q_DECL_OVERRIDE;
  25. void mouseReleaseEvent(QMouseEvent *event) Q_DECL_OVERRIDE;
  26. void mouseDoubleClickEvent(QMouseEvent *event) Q_DECL_OVERRIDE;
  27. bool event(QEvent *event) Q_DECL_OVERRIDE;
  28. public Q_SLOTS:
  29. void zoomIn(); // 放大
  30. void zoomOut(); // 缩小
  31. signals:
  32. void dbclickxy(double x,double y);
  33. void beishuchange(double beishu);
  34. private:
  35. bool bottonstatus = false;
  36. QPoint myview_lastMousePos;
  37. private:
  38. bool gestureEvent(QGestureEvent *event);
  39. void pinchTriggered(QPinchGesture*);
  40. bool mbInPinch = false;
  41. };
  42. #endif // MYVIEW_H