#ifndef ELECTRICFUNCTIONMODELSVGITEM_H #define ELECTRICFUNCTIONMODELSVGITEM_H #include "graphicsFunctionModelItem.h" class ElectricFunctionModelSvgItem :public GraphicsFunctionModelItem { Q_OBJECT public: ElectricFunctionModelSvgItem(const QRect &rect, bool genNewPort = true,QGraphicsItem *parent = 0); //genNewPort生成新接线点 virtual ~ElectricFunctionModelSvgItem(); void resize(int,double, double, const QPointF&) override; void updateCoordinate() override; void move(const QPointF&) override; virtual void loadSvg(){}; virtual void loadSvg(QByteArray); //第二种load直接加载图片 virtual void updateMapSvg(QMap map,QString sIndex = ""); //index:空全部更新 virtual void updateCurState(MonitorItemState e) override; 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; //默认 QSvgRenderer* m_pCustomRender; //定制 QMap m_mapSvg; QByteArray _tempSvg; //保存直接加载的svg数据 }; #endif