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

DAGraphicsView的基本元件 更多...

#include <DAGraphicsItem.h>

类 DA::DAGraphicsItem 继承关系图:
DA::DAXMLFileInterface DA::DAGraphicsLinkItem DA::DAGraphicsMarkItem DA::DAGraphicsResizeableItem DA::DAAbstractNodeLinkGraphicsItem DA::DAAbstractNodeGraphicsItem DA::DAGraphicsPixmapItem DA::DAGraphicsRectItem DA::DAGraphicsTextItem DA::DAStandardNodeLinkGraphicsItem DA::DAStandardNodeInputOutputGraphicsItem DA::DAStandardNodePixmapGraphicsItem DA::DAStandardNodeRectGraphicsItem DA::DAStandardNodeSvgGraphicsItem DA::DAStandardNodeTextGraphicsItem DA::DAStandardNodeWidgetGraphicsItem DA::DAStandardNodeConstValueGraphicsItem

class  PrivateData
 

Public 类型

enum  { Type = DA::ItemType_DAGraphicsItem }
 

Public 成员函数

virtual int type () const override
 
 DAGraphicsItem (QGraphicsItem *parent=nullptr)
 
virtual bool saveToXml (QDomDocument *doc, QDomElement *parentElement, const QVersionNumber &ver) const override
 保存到xml中
 
virtual bool loadFromXml (const QDomElement *parentElement, const QVersionNumber &ver) override
 从xml中加载
 
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
 判断当前场景是否为只读模式,只读模式不允许操作
 

静态 Public 成员函数

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 成员函数

DAGraphicsScenedaScene () const
 
virtual QVariant itemChange (QGraphicsItem::GraphicsItemChange change, const QVariant &value) override
 这里主要对只读模式的过滤
 

详细描述

DAGraphicsView的基本元件

DAGraphicsItem提供了统一的saveToXml接口 加载的过程通过DAGraphicsItemFactory进行加载

成员函数说明

◆ cast()

DAGraphicsItem * DA::DAGraphicsItem::cast ( QGraphicsItem *  i)
static

dynamic_cast为DAGraphicsItem

参数
i
返回

◆ enableShowBackground()

void DA::DAGraphicsItem::enableShowBackground ( bool  on)

设置显示背景

参数
on

◆ getBackgroundBrush()

QBrush DA::DAGraphicsItem::getBackgroundBrush ( ) const

获取背景

返回

◆ getBorderPen()

QPen DA::DAGraphicsItem::getBorderPen ( ) const

获取当前边框画笔

返回

◆ groupPositionChanged()

void DA::DAGraphicsItem::groupPositionChanged ( const QPointF &  p)
virtual

分组的位置发生了改变 此函数是在分组后才会回调,分组后,分组的移动对于item来说是不移动的,这时候无法触发ItemPositionChanged的改变,从而导致一些异常,因此需要分组告诉子对象分组移动了

参数
pos分组的位置,如果要获取当前item的位置,获取parent,后再map

DA::DAAbstractNodeGraphicsItem 重载.

◆ isMovable()

bool DA::DAGraphicsItem::isMovable ( ) const

判断是否可以移动

返回

◆ isSceneReadOnly()

bool DA::DAGraphicsItem::isSceneReadOnly ( ) const

判断当前场景是否为只读模式,只读模式不允许操作

在继承此类时要通过此函数判断当前的状态

只读模式下,一些值会被过滤,例如:

QVariant DAGraphicsItem::itemChange(GraphicsItemChange change, const QVariant& value)
{
switch (change) {
case QGraphicsItem::ItemRotationChange: {
if (isSceneReadOnly()) {
return rotation();
}
} break;
case QGraphicsItem::ItemPositionChange: {
if (isSceneReadOnly()) {
return pos();
}
} break;
case QGraphicsItem::ItemOpacityChange: {
if (isSceneReadOnly()) {
return opacity();
}
} break;
default:
break;
}
return QGraphicsObject::itemChange(change, value);
}
bool isSceneReadOnly() const
判断当前场景是否为只读模式,只读模式不允许操作
Definition DAGraphicsItem.cpp:359
virtual QVariant itemChange(QGraphicsItem::GraphicsItemChange change, const QVariant &value) override
这里主要对只读模式的过滤
Definition DAGraphicsItem.cpp:373
返回

◆ isSelectable()

bool DA::DAGraphicsItem::isSelectable ( ) const

判断可否被选中

返回

◆ isShowBackground()

bool DA::DAGraphicsItem::isShowBackground ( ) const

是否显示背景

返回

◆ isShowBorder()

bool DA::DAGraphicsItem::isShowBorder ( ) const

是否显示边框

返回

◆ itemChange()

QVariant DA::DAGraphicsItem::itemChange ( QGraphicsItem::GraphicsItemChange  change,
const QVariant &  value 
)
overrideprotectedvirtual

◆ loadFromXml()

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

◆ saveToXml()

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

◆ setBackgroundBrush()

void DA::DAGraphicsItem::setBackgroundBrush ( const QBrush &  b)

设置背景

参数
b

◆ setBorderPen()

void DA::DAGraphicsItem::setBorderPen ( const QPen &  p)

设置边框画笔

注解
设置后不会重绘,重绘用户自己调用update
参数
p

◆ setMovable()

void DA::DAGraphicsItem::setMovable ( bool  on = true)

设置为是否可移动

参数
on

◆ setSelectable()

void DA::DAGraphicsItem::setSelectable ( bool  on = true)

设置是否可选中

参数
on

◆ setShowBorder()

void DA::DAGraphicsItem::setShowBorder ( bool  on)

设置显示边框

参数
on

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