35 lines
1.3 KiB
C++
35 lines
1.3 KiB
C++
#ifndef ELECTRICSVGITEM_H
|
|
#define ELECTRICSVGITEM_H
|
|
|
|
#include "graphicsBaseItem.h"
|
|
#include <QGraphicsSvgItem>
|
|
|
|
class ElectricSvgItem :public GraphicsProjectModelItem
|
|
{
|
|
Q_OBJECT
|
|
public:
|
|
ElectricSvgItem(const QRect &rect, bool genNewPort = true,QGraphicsItem *parent = 0); //genNewPort生成新接线点
|
|
ElectricSvgItem(const ElectricSvgItem&);
|
|
virtual ~ElectricSvgItem();
|
|
virtual ElectricSvgItem* clone() const override;
|
|
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<QString,QByteArray> map);
|
|
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<QString,QByteArray> m_mapSvg;
|
|
QByteArray _tempSvg; //保存直接加载的svg数据
|
|
};
|
|
|
|
#endif
|