#ifndef MYCUSTOMGRAPHICSITEM_H #define MYCUSTOMGRAPHICSITEM_H #include #include #include #include #include #include #include #include #include #include #include class CMyCustomGraphicsItem : public QObject , public QGraphicsItemGroup { Q_OBJECT public: explicit CMyCustomGraphicsItem(QObject *parent = nullptr); // void mousePressEvent(QGraphicsSceneMouseEvent *event); // void mouseMoveEvent(QGraphicsSceneMouseEvent *event); // void mouseReleaseEvent(QGraphicsSceneMouseEvent *event); void mouseDoubleClickEvent(QGraphicsSceneMouseEvent *event); void wheelEvent(QGraphicsSceneWheelEvent *event); signals: void doubleclick(QGraphicsSceneMouseEvent *event); public slots: }; class LineItem : public QGraphicsItem { public: LineItem(); //最大显示范围的设置默认为30 float maxX(); void setMaxX(float value); public: QRectF boundingRect() const; void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget); void mousePressEvent(QGraphicsSceneMouseEvent *event); private: //显示范围 float m_maxX; }; #endif // MYCUSTOMGRAPHICSITEM_H