#ifndef DESIGNER_VIEW_H #define DESIGNER_VIEW_H #include class DesignerView : public QGraphicsView { Q_OBJECT public: explicit DesignerView(QWidget *parent = 0); virtual ~DesignerView(); protected: virtual void contextMenuEvent(QContextMenuEvent*) override; virtual void mousePressEvent(QMouseEvent*) override; virtual void mouseMoveEvent(QMouseEvent*) override; virtual void mouseReleaseEvent(QMouseEvent*) override; virtual void wheelEvent(QWheelEvent*) override; private: void initialize(); //缩放相关 void zoom(const QPointF&, double); bool zoomLimit(double&); double getScaleFactor(); private: bool m_bMousePress; double m_dZoomVaule; }; #endif