#ifndef MYGRAPHICSGRIDITEM_H #define MYGRAPHICSGRIDITEM_H #include #include #include #include #include #include #include #include #include #include class MyGraphicsGridItem : public QObject, public QGraphicsItem { Q_OBJECT Q_INTERFACES(QGraphicsItem) //通知要实现的类构成何种界面的宏 public: MyGraphicsGridItem(double gridSpacing,QRectF rect); ~MyGraphicsGridItem(); //绘图区域 QRectF boundingRect() const; //绘制按钮图像的函数 void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = 0); QPointF getClosestFocus(QPointF point); protected: //事件 void mousePressEvent(QGraphicsSceneMouseEvent* event); void mouseMoveEvent(QGraphicsSceneMouseEvent* event); void mouseReleaseEvent(QGraphicsSceneMouseEvent* event); private: QList m_listX;//X轴坐标点 QList m_listY;//Y轴坐标点 QRectF m_boundingRect;//返回形状 double m_gridSpacing; QRectF m_rect; public slots: }; #endif // MYGRAPHICSGRIDITEM_H