PaintView.h 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. #pragma once
  2. #include "preheader.h"
  3. #include "ShapeMimeData.h"
  4. #include <QGraphicsItem>
  5. class PaintView : public QGraphicsView
  6. {
  7. Q_OBJECT
  8. public:
  9. explicit PaintView(QWidget *parent = 0);
  10. ~PaintView();
  11. void ZoomOut();
  12. void ZoomIn();
  13. void SetTranslateSpeed(qreal speed);
  14. private:
  15. Qt::MouseButton _translateButton; // 平移按钮
  16. qreal _zoomDelta; // 缩放的增量
  17. qreal _scaleValue; // 缩放值
  18. QPoint _lastMousePos; // 鼠标最后按下的位置
  19. qreal _translateSpeed; // 平移速度
  20. bool _bMouseTranslate;
  21. void zoom(float scaleFactor);
  22. void paintEvent(QPaintEvent *event);
  23. void wheelEvent(QWheelEvent *event);
  24. void keyPressEvent(QKeyEvent *event);
  25. void translate(QPointF delta);
  26. void mouseMoveEvent(QMouseEvent *event);
  27. void mousePressEvent(QMouseEvent *event);
  28. void mouseReleaseEvent(QMouseEvent *event);
  29. void resizeEvent(QResizeEvent *event);
  30. void contextMenuEvent(QContextMenuEvent *event);
  31. private slots:
  32. void onAssemblageAction(bool);
  33. void onRotation1Action(bool);
  34. void onRotation2Action(bool);
  35. void onDeleteAction(bool) ;
  36. void on_copy();
  37. void on_paste();
  38. void on_cut();
  39. };