#ifndef GRAPHICSFUNCTIONMODELITEM_H #define GRAPHICSFUNCTIONMODELITEM_H #include "../graphicsBaseItem.h" class GraphicsFunctionModelItem : public GraphicsProjectModelItem //功能模item { Q_OBJECT public: GraphicsFunctionModelItem(QGraphicsItem *parent); virtual ~GraphicsFunctionModelItem(); protected: virtual void paint(QPainter*, const QStyleOptionGraphicsItem*, QWidget*) override; }; class GraphicsFunctionModelGroup : public GraphicsFunctionModelItem //功能模group { Q_OBJECT public: GraphicsFunctionModelGroup(QGraphicsItem *parent); virtual ~GraphicsFunctionModelGroup(); virtual void addItem(GraphicsFunctionModelItem* item); virtual void updateLayout(); virtual void setLayout(int n) {m_direction = n;} virtual void setGroupType(int n) {_groupType = n;} virtual int getGroupType() {return _groupType;} virtual void setSpacing(qreal spacing) { if (m_spacing != spacing) { m_spacing = spacing; updateLayout(); } } QRectF updateBoundRect(); protected: QList m_childItems; int m_direction = 1; //组内布局,0横1纵 int m_spacing = 0; //间距 int _groupType = 0; //组类型,0联合(子item独立连接),1聚合(子item仅作展示) }; #endif