#ifndef OEMODELVIEW_H #define OEMODELVIEW_H #include #include #include #include class OEModelView : public QWidget { Q_OBJECT public: /** * @brief : 模型种类 */ enum MODEL{ Arrows = 0, /// 箭头 Rectangle = 1, /// 矩形 Roundness /// 圆形 }; private: typedef void (OEModelView::*PDRAWFUNC) (const QPoint &,const QPoint &, QPainter&); signals: public: explicit OEModelView(MODEL model = MODEL::Arrows, QWidget *parent = 0); protected: /** * @brief : 自绘事件 */ virtual void paintEvent(QPaintEvent *); private: void drawArrows(const QPoint &startPoint, const QPoint &endPoint, QPainter& paiter); public slots: void onColor(const QColor &color); private: QColor color_; PDRAWFUNC drawFunc_; /// @bug : 莫名,开启此处变量的声明,程序就会崩溃。 // QPoint ssPoint331_; // QPoint esoint233_; }; #endif // OEMODELVIEW_H