#ifndef ELECTRICBASEMODELSVGITEM_H #define ELECTRICBASEMODELSVGITEM_H #include "graphicsItem/graphicsBaseItem.h" #include class ElectricBaseModelSvgItem :public GraphicsBaseModelItem { Q_OBJECT public: ElectricBaseModelSvgItem(const QRect &rect, QGraphicsItem *parent = 0); //genNewPort生成新接线点 ElectricBaseModelSvgItem(const ElectricBaseModelSvgItem&); virtual ElectricBaseModelSvgItem* clone() const override; virtual ~ElectricBaseModelSvgItem() override; void updateCoordinate() override; void move(const QPointF&) override; void loadSvg(const QByteArray&); protected: virtual QPainterPath shape() override; virtual void editShape(int, const QPointF&) override; virtual void paint(QPainter*, const QStyleOptionGraphicsItem*, QWidget*) override; protected: QRectF m_lastBoudingRect; //记录上一时刻的boundingRect QSvgRenderer* m_pRender; QByteArray m_icon; }; #endif