34 lines
739 B
C++
34 lines
739 B
C++
#ifndef DESIGNER_VIEW_H
|
|
#define DESIGNER_VIEW_H
|
|
|
|
#include <QGraphicsView>
|
|
|
|
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
|