DAWorkbench 0.0.1
DAWorkbench API
载入中...
搜索中...
未找到
DA::DAGraphicsRectItem类 参考

矩形图元 更多...

#include <DAGraphicsRectItem.h>

类 DA::DAGraphicsRectItem 继承关系图:
DA::DAGraphicsResizeableItem DA::DAGraphicsItem DA::DAXMLFileInterface

class  PrivateData
 

Public 类型

enum  { Type = DA::ItemType_DAGraphicsRectItem }
 适用qgraphicsitem_cast
 
- Public 类型 继承自 DA::DAGraphicsResizeableItem
enum  ControlType {
  NotUnderAnyControlType = 0 , ControlPointTopLeft , ControlPointTopMid , ControlPointTopRight ,
  ControlPointRightMid , ControlPointBottomRight , ControlPointBottomMid , ControlPointBottomLeft ,
  ControlPointLeftMid , ControlLineLeft , ControlLineTop , ControlLineRight ,
  ControlLineBottom
}
 表征控制点和控制线的类型 更多...
 
enum  { Type = DA::ItemType_DAGraphicsResizeableItem }
 适用qgraphicsitem_cast
 
- Public 类型 继承自 DA::DAGraphicsItem
enum  { Type = DA::ItemType_DAGraphicsItem }
 

Public 成员函数

int type () const override
 
 DAGraphicsRectItem (QGraphicsItem *parent=nullptr)
 
void setText (const QString &t)
 
QString getText () const
 
void setTextAlignment (Qt::Alignment al)
 
Qt::Alignment getTextAlignment () const
 
QPen getTextPen () const
 
void setTextPen (const QPen &p)
 
QBrush getRectFillBrush () const
 
void setRectFillBrush (const QBrush &b)
 
virtual bool saveToXml (QDomDocument *doc, QDomElement *parentElement, const QVersionNumber &ver) const override
 保存到xml中
 
virtual bool loadFromXml (const QDomElement *itemElement, const QVersionNumber &ver) override
 从xml中加载
 
void paintBody (QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget, const QRectF &bodyRect) override
 
- Public 成员函数 继承自 DA::DAGraphicsResizeableItem
 DAGraphicsResizeableItem (QGraphicsItem *parent=nullptr)
 
int type () const override
 
QRectF boundingRect () const override
 DAGraphicsResizeableItem的boundingRect会根据getSize尺寸进行计算
 
QPainterPath shape () const override
 用户不要继承此shape函数,而是继承bodyShape函数
 
void paint (QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) override
 用户不要继承此paint函数,而是继承paintBody函数
 
QSizeF testBodySize (const QSizeF &s)
 测试一下setBodySize之后getBodySize能得到的尺寸
 
virtual void setBodySize (const QSizeF &s)
 设置尺寸
 
QRectF getBodyRect () const
 绘图的区域
 
QSizeF getBodySize () const
 获取尺寸
 
QRectF getBodyControlRect () const
 获取body包含控制窗口大小,就是在改变尺寸时包含那8个控制点的最大尺寸
 
void setBodyMinimumSize (const QSizeF &s)
 设置最小尺寸
 
void setBodyMaximumSize (const QSizeF &s)
 设置最大尺寸
 
QSizeF getBodyMinimumSize () const
 获取最小尺寸
 
QSizeF getBodyMaximumSize () const
 获取最大尺寸
 
void setControlerSize (const QSizeF &s)
 获取控制器的大小
 
QSizeF getControlerSize () const
 
void setEnableResize (bool on)
 设置是否Delegate可用
 
bool isResizable () const
 判断是否允许
 
void setBodyPos (const QPointF &p)
 对setPos的封装
 
void setBodyScenePos (const QPointF &p)
 
QPointF getBodyCenterPoint () const
 返回body的中心点,此坐标系为item坐标系
 
QPointF getBodyCenterPos () const
 获取body中心的位置
 
void setBodyCenterPos (const QPointF &p)
 setBodyCenterPos
 
void setAutoCenterTransformOriginPoint (bool on=true)
 设置TransformOriginPoint自动设置为bodysize的中心,否则为用户自己指定
 
void updateTransformOriginPoint ()
 更新TransformOriginPoint
 
QPair< QPointF, QSizeF > doItemResize (const QPointF &mousescenePos)
 执行尺寸的改变
 
virtual QPainterPath getBodyShape () const
 获取绘图的shape
 
virtual void paintSelectedBorder (QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget)
 绘制resize边框
 
virtual void paintResizeControlPoints (QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget)
 绘制resize控制点
 
virtual void paintBackground (QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget, const QRectF &bodyRect)
 绘制背景
 
virtual void paintBorder (QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget, const QRectF &bodyRect)
 绘制边框
 
virtual QRectF controlPointRect (ControlType tp, const QRectF &bodyRect) const
 生成control points
 
virtual QSizeF controlPointSize () const
 控制点的大小
 
void prepareControlInfoChange ()
 在尺寸发生变化后调用,刷新控制点的位置
 
ControlType getControlPointByPos (const QPointF &pos) const
 测试位置是否在控制点上,如果是返回控制点的类型,如果不在返回NotAtControlPoint
 
bool isResizing () const
 判断当前是否处于调整大小的状态中
 
bool isSnapToGrid () const
 是否允许对齐网格
 
QSize getGridSize () const
 获取网格尺寸
 
- Public 成员函数 继承自 DA::DAGraphicsItem
 DAGraphicsItem (QGraphicsItem *parent=nullptr)
 
void setBorderPen (const QPen &p)
 设置边框画笔
 
QPen getBorderPen () const
 获取当前边框画笔
 
void setShowBorder (bool on)
 设置显示边框
 
bool isShowBorder () const
 是否显示边框
 
void setSelectable (bool on=true)
 设置是否可选中
 
bool isSelectable () const
 判断可否被选中
 
void setMovable (bool on=true)
 设置为是否可移动
 
bool isMovable () const
 判断是否可以移动
 
void setBackgroundBrush (const QBrush &b)
 设置背景
 
QBrush getBackgroundBrush () const
 获取背景
 
void enableShowBackground (bool on)
 设置显示背景
 
bool isShowBackground () const
 是否显示背景
 
virtual void groupPositionChanged (const QPointF &p)
 分组的位置发生了改变 此函数是在分组后才会回调,分组后,分组的移动对于item来说是不移动的,这时候无法触发ItemPositionChanged的改变,从而导致一些异常,因此需要分组告诉子对象分组移动了
 
void setScenePos (const QPointF &p)
 
void setScenePos (qreal x, qreal y)
 
uint64_t getItemID () const
 
void setItemID (uint64_t id)
 
bool isSceneReadOnly () const
 判断当前场景是否为只读模式,只读模式不允许操作
 

额外继承的成员函数

- 信号 继承自 DA::DAGraphicsResizeableItem
void itemBodySizeChanged (const QSizeF &oldsize, const QSizeF &newsize)
 itemBodySizeChanged
 
- 静态 Public 成员函数 继承自 DA::DAGraphicsItem
static DAGraphicsItemcast (QGraphicsItem *i)
 dynamic_cast为DAGraphicsItem
 
- 静态 Public 成员函数 继承自 DA::DAXMLFileInterface
template<typename std_container_like >
static QDomElement makeElement (const std_container_like &v, const QString &tagName, QDomDocument *doc)
 生成一个文本
 
template<typename std_container_like >
static bool loadElement (std_container_like &v, const QDomElement *ele)
 加载文本
 
static QDomElement makeSysInfoElement (const QString &tagName, QDomDocument *doc)
 
static void appendElementWithText (QDomElement &parent, const QString &tagName, const QString &text, QDomDocument *doc)
 在parent下,插入一个tag,tag下包含文字text
 
- Protected 成员函数 继承自 DA::DAGraphicsResizeableItem
void changeBodySize (const QSizeF &s)
 此函数和setBodySize不同,setBodySize是虚函数,且会校验尺寸的最大最小范围,此函数不进行校验
 
virtual void hoverEnterEvent (QGraphicsSceneHoverEvent *event) override
 
virtual void hoverMoveEvent (QGraphicsSceneHoverEvent *event) override
 
virtual void hoverLeaveEvent (QGraphicsSceneHoverEvent *event) override
 
virtual void mousePressEvent (QGraphicsSceneMouseEvent *event) override
 
virtual void mouseReleaseEvent (QGraphicsSceneMouseEvent *event) override
 
virtual void mouseMoveEvent (QGraphicsSceneMouseEvent *event) override
 
QVariant itemChange (QGraphicsItem::GraphicsItemChange change, const QVariant &value) override
 DAGraphicsResizeableItem::itemChange
 
- Protected 成员函数 继承自 DA::DAGraphicsItem
DAGraphicsScenedaScene () const
 

详细描述

矩形图元

成员函数说明

◆ loadFromXml()

bool DA::DAGraphicsRectItem::loadFromXml ( const QDomElement *  parentElement,
const QVersionNumber &  ver 
)
overridevirtual

从xml中加载

参数
itemElement
返回

重载 DA::DAGraphicsResizeableItem .

◆ paintBody()

void DA::DAGraphicsRectItem::paintBody ( QPainter *  painter,
const QStyleOptionGraphicsItem *  option,
QWidget *  widget,
const QRectF &  bodyRect 
)
overridevirtual

◆ saveToXml()

bool DA::DAGraphicsRectItem::saveToXml ( QDomDocument *  doc,
QDomElement *  parentElement,
const QVersionNumber &  ver 
) const
overridevirtual

保存到xml中

参数
doc
parentElement
返回

重载 DA::DAGraphicsResizeableItem .

◆ type()

int DA::DAGraphicsRectItem::type ( ) const
inlineoverridevirtual

该类的文档由以下文件生成: