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

QGraphicsTextItem是一个非常复杂的item,里面包含了QWidgetTextControl多达3000行,暂时不尝试写一个类似的控件 更多...

#include <DAGraphicsStandardTextItem.h>

类 DA::DAGraphicsStandardTextItem 继承关系图:
DA::DAXMLFileInterface

Public 类型

enum  { Type = DA::ItemType_DAGraphicsStandardTextItem }
 适用qgraphicsitem_cast
 

Public 成员函数

int type () const override
 
 DAGraphicsStandardTextItem (QGraphicsItem *parent=nullptr)
 
 DAGraphicsStandardTextItem (const QString &str, const QFont &f, QGraphicsItem *parent=nullptr)
 
 DAGraphicsStandardTextItem (const QFont &f, QGraphicsItem *parent=nullptr)
 
void setEditable (bool on=true)
 设置编辑模式
 
bool isEditable () const
 是否可编辑
 
virtual bool saveToXml (QDomDocument *doc, QDomElement *parentElement, const QVersionNumber &ver) const override
 
virtual bool loadFromXml (const QDomElement *itemElement, const QVersionNumber &ver) override
 
void setScenePos (const QPointF &p)
 
void setScenePos (qreal x, qreal y)
 
uint64_t getItemID () const
 
void setItemID (uint64_t id)
 
void setSelectTextFamily (const QString &v)
 设置选中文本字体,如果没选中,将设置全部
 
QString getSelectTextFamily () const
 获取选中文本字体字体名称,如果无法获取,返回QString()
 
void setSelectTextColor (const QColor &v)
 设置选中的颜色,如果没有选中对象,尝试全选
 
QColor getSelectTextColor () const
 获取选中的颜色,如果没有选中对象,尝试全选
 
void setSelectTextFont (const QFont &v)
 设置选中文本字体,如果没选中,将设置全部
 
QFont getSelectTextFont () const
 选中文本字体,如果没选中,将设置全部
 
void setSelectTextPointSize (int v)
 设置选中文本的字体大小
 
int getSelectTextPointSize () const
 选中文本的字体大小
 
void setSelectTextItalic (bool on)
 文字斜体
 
bool getSelectTextItalic () const
 文字斜体
 
void setSelectTextBold (bool on)
 文字粗体
 
bool getSelectTextBold () const
 文字粗体
 
bool getAutoBindRedoundoToScene () const
 是否自动绑定DAGraphicsScene的redo/undo
 
void setAutoBindRedoundoToScene (bool v)
 设置自动绑定DAGraphicsScene的redo/undo
 
void clearTextSelection ()
 清除文字的选中
 

Protected 成员函数

virtual void focusOutEvent (QFocusEvent *focusEvent) override
 
virtual void mouseDoubleClickEvent (QGraphicsSceneMouseEvent *event) override
 
virtual QVariant itemChange (QGraphicsItem::GraphicsItemChange change, const QVariant &value) override
 

额外继承的成员函数

- 静态 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
 

详细描述

QGraphicsTextItem是一个非常复杂的item,里面包含了QWidgetTextControl多达3000行,暂时不尝试写一个类似的控件

这个控件不是继承DAGraphicsItem,但增加了id和xml接口,可以进行关联,同时,能自动把修改的redo/undo命令添加到DAGraphicsScene中

成员函数说明

◆ focusOutEvent()

void DA::DAGraphicsStandardTextItem::focusOutEvent ( QFocusEvent *  focusEvent)
overrideprotectedvirtual

这里不能执行下面这些语句,尤其把选中内容取消,这样会导致一些控件无法选中文本进行修改, 例如颜色改变按钮,是个弹出的menu,如果失去焦点就情况选中,会把选中擦去,就无法改变局部颜色

◆ getAutoBindRedoundoToScene()

bool DA::DAGraphicsStandardTextItem::getAutoBindRedoundoToScene ( ) const

是否自动绑定DAGraphicsScene的redo/undo

返回

◆ getSelectTextBold()

bool DA::DAGraphicsStandardTextItem::getSelectTextBold ( ) const

文字粗体

返回

◆ getSelectTextColor()

QColor DA::DAGraphicsStandardTextItem::getSelectTextColor ( ) const

获取选中的颜色,如果没有选中对象,尝试全选

返回

◆ getSelectTextFamily()

QString DA::DAGraphicsStandardTextItem::getSelectTextFamily ( ) const

获取选中文本字体字体名称,如果无法获取,返回QString()

返回

◆ getSelectTextFont()

QFont DA::DAGraphicsStandardTextItem::getSelectTextFont ( ) const

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

返回

◆ getSelectTextItalic()

bool DA::DAGraphicsStandardTextItem::getSelectTextItalic ( ) const

文字斜体

返回

◆ getSelectTextPointSize()

int DA::DAGraphicsStandardTextItem::getSelectTextPointSize ( ) const

选中文本的字体大小

返回
如果无法获取选中的尺寸,返回-1

◆ isEditable()

bool DA::DAGraphicsStandardTextItem::isEditable ( ) const

是否可编辑

返回

◆ itemChange()

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

此方法有问题,前面有2个不知名的command

此方法不行,undoCommandAdded获取的html不是文本改变后的html

此方法可行,但是需要记录非常多的命令,每个字符串的变化都会记录,虽然可以做压缩, 通过记录变更日期和内容进行时间和内容的压缩,但还是会每敲一个字就触发一次记录 通过focusOutEvent,无法捕获到全局的变化,如全局的颜色设置等

◆ loadFromXml()

bool DA::DAGraphicsStandardTextItem::loadFromXml ( const QDomElement *  itemElement,
const QVersionNumber &  ver 
)
overridevirtual

◆ saveToXml()

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

◆ setAutoBindRedoundoToScene()

void DA::DAGraphicsStandardTextItem::setAutoBindRedoundoToScene ( bool  v)

设置自动绑定DAGraphicsScene的redo/undo

如果是,这样QDocumentText的redo/undo会自动被DAGraphicsScene的redo/undo捕获

参数
v

◆ setEditable()

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

设置编辑模式

参数
on

◆ setSelectTextBold()

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

文字粗体

参数
on

◆ setSelectTextColor()

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

设置选中的颜色,如果没有选中对象,尝试全选

参数
v

◆ setSelectTextFamily()

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

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

参数
v

◆ setSelectTextFont()

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

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

参数
v

◆ setSelectTextItalic()

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

文字斜体

参数
on

◆ setSelectTextPointSize()

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

设置选中文本的字体大小

参数
v

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