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

支持缩放编辑的文本框Item 更多...

#include <DAGraphicsTextItem.h>

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

class  PrivateData
 

Public 类型

enum  { Type = DA::ItemType_DAGraphicsTextItem }
 适用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
 
 DAGraphicsTextItem (QGraphicsItem *parent=nullptr)
 
 DAGraphicsTextItem (const QFont &f, QGraphicsItem *parent=nullptr)
 
 DAGraphicsTextItem (const QString &str, const QFont &f, QGraphicsItem *parent=nullptr)
 
virtual bool saveToXml (QDomDocument *doc, QDomElement *parentElement, const QVersionNumber &ver) const override
 保存到xml中
 
virtual bool loadFromXml (const QDomElement *itemElement, const QVersionNumber &ver) override
 从xml中加载
 
DAGraphicsStandardTextItemtextItem () const
 
void setBodySize (const QSizeF &s) override
 设置尺寸
 
void setPlainText (const QString &v)
 设置文本
 
QString getPlainText () const
 文本
 
void setSelectTextColor (const QColor &v)
 设置文本颜色
 
QColor getSelectTextColor () const
 获取文本颜色
 
void setSelectTextFont (const QFont &v)
 设置字体
 
QFont getSelectTextFont () const
 获取字体
 
void setSelectTextFamily (const QString &v)
 设置选中文本字体,如果没选中,将设置全部
 
QString getSelectTextFamily () const
 DAGraphicsTextItem::getSelectTextFamily
 
void setSelectTextPointSize (int v)
 选中文本的字体大小
 
int getSelectTextPointSize () const
 选中文本的字体大小
 
void setSelectTextItalic (bool on)
 文字斜体
 
bool getSelectTextItalic () const
 文字斜体
 
void setSelectTextBold (bool on)
 文字粗体
 
bool getSelectTextBold () const
 文字粗体
 
void setEditable (bool on=true)
 设置编辑模式
 
bool isEditable () const
 是否可编辑
 
QTextDocument * document () const
 获取doc
 
QTextCursor textCursor () const
 QGraphicsTextItem::textCursor
 
QString toHtml () const
 保存为富文本
 
void setHtml (const QString &html)
 
- Public 成员函数 继承自 DA::DAGraphicsResizeableItem
 DAGraphicsResizeableItem (QGraphicsItem *parent=nullptr)
 
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能得到的尺寸
 
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
 判断当前场景是否为只读模式,只读模式不允许操作
 

Protected 成员函数

virtual void paintBody (QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget, const QRectF &bodyRect) override
 paintBody
 
virtual void mousePressEvent (QGraphicsSceneMouseEvent *e) override
 
virtual QVariant itemChange (QGraphicsItem::GraphicsItemChange change, const QVariant &value) override
 DAGraphicsResizeableItem::itemChange
 
- 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 mouseReleaseEvent (QGraphicsSceneMouseEvent *event) override
 
virtual void mouseMoveEvent (QGraphicsSceneMouseEvent *event) override
 
- Protected 成员函数 继承自 DA::DAGraphicsItem
DAGraphicsScenedaScene () 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
 

详细描述

支持缩放编辑的文本框Item

成员函数说明

◆ document()

QTextDocument * DA::DAGraphicsTextItem::document ( ) const

获取doc

返回

◆ getPlainText()

QString DA::DAGraphicsTextItem::getPlainText ( ) const

文本

返回

◆ getSelectTextBold()

bool DA::DAGraphicsTextItem::getSelectTextBold ( ) const

文字粗体

返回

◆ getSelectTextColor()

QColor DA::DAGraphicsTextItem::getSelectTextColor ( ) const

获取文本颜色

返回

◆ getSelectTextFamily()

QString DA::DAGraphicsTextItem::getSelectTextFamily ( ) const

◆ getSelectTextFont()

QFont DA::DAGraphicsTextItem::getSelectTextFont ( ) const

获取字体

返回

◆ getSelectTextItalic()

bool DA::DAGraphicsTextItem::getSelectTextItalic ( ) const

文字斜体

返回

◆ getSelectTextPointSize()

int DA::DAGraphicsTextItem::getSelectTextPointSize ( ) const

选中文本的字体大小

返回

◆ isEditable()

bool DA::DAGraphicsTextItem::isEditable ( ) const

是否可编辑

返回

◆ itemChange()

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

◆ loadFromXml()

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

从xml中加载

参数
itemElement
返回

重载 DA::DAGraphicsResizeableItem .

◆ mousePressEvent()

void DA::DAGraphicsTextItem::mousePressEvent ( QGraphicsSceneMouseEvent *  e)
overrideprotectedvirtual

◆ paintBody()

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

paintBody

参数
painter
option
widget
bodyRect

实现了 DA::DAGraphicsResizeableItem.

◆ saveToXml()

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

保存到xml中

参数
doc
parentElement
返回

重载 DA::DAGraphicsResizeableItem .

◆ setBodySize()

void DA::DAGraphicsTextItem::setBodySize ( const QSizeF &  s)
overridevirtual

设置尺寸

注解
setBodySize是虚函数,在scene鼠标动作的时候会触发此函数, 如果仅仅想改变bodysize的尺寸,可以调用
参见
changeBodySize
参数
s

重载 DA::DAGraphicsResizeableItem .

◆ setEditable()

void DA::DAGraphicsTextItem::setEditable ( bool  on = true)

设置编辑模式

参数
on

◆ setPlainText()

void DA::DAGraphicsTextItem::setPlainText ( const QString &  v)

设置文本

参数
v

◆ setSelectTextBold()

void DA::DAGraphicsTextItem::setSelectTextBold ( bool  on)

文字粗体

参数
on

◆ setSelectTextColor()

void DA::DAGraphicsTextItem::setSelectTextColor ( const QColor &  v)

设置文本颜色

参数
v

◆ setSelectTextFamily()

void DA::DAGraphicsTextItem::setSelectTextFamily ( const QString &  v)

设置选中文本字体,如果没选中,将设置全部

参数
v

◆ setSelectTextFont()

void DA::DAGraphicsTextItem::setSelectTextFont ( const QFont &  v)

设置字体

参数
v

◆ setSelectTextItalic()

void DA::DAGraphicsTextItem::setSelectTextItalic ( bool  on)

文字斜体

参数
on

◆ setSelectTextPointSize()

void DA::DAGraphicsTextItem::setSelectTextPointSize ( int  v)

选中文本的字体大小

参数
v

◆ textCursor()

QTextCursor DA::DAGraphicsTextItem::textCursor ( ) const

QGraphicsTextItem::textCursor

返回

◆ toHtml()

QString DA::DAGraphicsTextItem::toHtml ( ) const

保存为富文本

返回

◆ type()

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

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