DtkWidget
DTK Widget module
载入中...
搜索中...
未找到
Dtk::Widget::DCrumbEdit类 参考

标签输入控件. 更多...

类 Dtk::Widget::DCrumbEdit 继承关系图:

Public 类型

enum  CrumbType {
  black = Qt::black , white = Qt::white , darkGray = Qt::darkGray , gray = Qt::gray ,
  lightGray = Qt::lightGray , red = Qt::red , green = Qt::green , blue = Qt::blue ,
  cyan = Qt::cyan , magenta = Qt::magenta , yellow = Qt::yellow , darkRed = Qt::darkRed ,
  darkGreen = Qt::darkGreen , darkBlue = Qt::darkBlue , darkCyan = Qt::darkCyan , darkMagenta = Qt::darkMagenta ,
  darkYellow = Qt::darkYellow
}
 

Public 槽

void setCrumbReadOnly (bool crumbReadOnly)
 
void setCrumbRadius (int crumbRadius)
 
void setSplitter (const QString &splitter)
 
void setDualClickMakeCrumb (bool flag) Q_DECL_NOEXCEPT
 

信号

void crumbAdded (const QString &text)
 
void crumbRemoved (const QString &text)
 
void crumbListChanged ()
 

Public 成员函数

 DCrumbEdit (QWidget *parent=0)
 
bool insertCrumb (const DCrumbTextFormat &format, int pos=-1)
 凭 DCrumbTextFormat类 对象向标签编辑控件中插入新的标签
 
bool insertCrumb (const QString &text, int pos=-1)
 凭文字属性内容向标签编辑控件中插入新的标签
 
bool appendCrumb (const DCrumbTextFormat &format)
 凭 DCrumbTextFormat类 对象向标签编辑控件中追加新的标签
 
bool appendCrumb (const QString &text)
 凭文字属性内容向标签编辑控件中追加新的标签
 
bool containCrumb (const QString &text) const
 检查当前控件是否已经包含了 文字名称为 text 的标签
 
QStringList crumbList () const
 
DCrumbTextFormat crumbTextFormat (const QString &text) const
 
DCrumbTextFormat makeTextFormat () const
 
DCrumbTextFormat makeTextFormat (CrumbType type) const
 
bool dualClickMakeCrumb () const Q_DECL_NOEXCEPT
 
bool crumbReadOnly () const
 
int crumbRadius () const
 
QString splitter () const
 

Protected 成员函数

bool event (QEvent *e) override
 
void paintEvent (QPaintEvent *event) override
 
void keyPressEvent (QKeyEvent *event) override
 
void mouseDoubleClickEvent (QMouseEvent *event) override
 
void focusOutEvent (QFocusEvent *event) override
 
QMimeData * createMimeDataFromSelection () const override
 
bool canInsertFromMimeData (const QMimeData *source) const override
 
void insertFromMimeData (const QMimeData *source) override
 

属性

bool crumbReadOnly
 
int crumbRadius
 
QString splitter
 
bool dualClickMakeCrumb
 

详细描述

标签输入控件.

DCrumbEdit 提供了一个编辑框,编辑框内可包含若干个标签,并允许通过用户输入来编辑这些标签。 编辑框所包含的标签由标签的文字内容唯一确定,即编辑框所包含的标签内容(字符串值)均不重复。

编辑框中包含的标签的主体为字符串,除文字外,每个标签可以对应其不同的颜色等样式,对于可供使用的样式请参见 DCrumbTextFormat类 。 DCrumbEdit 允许通过给定字符串的形式便捷的向其中添加一个默认样式的标签,也可以通过自行构建标签文字样式。请参见 insertCrumb()appendCrumb() 的不同重载。 可以通过 crumbList() 获得当前标签输入控件中包含的标签列表。

参见
Dtk::Widget::DCrumbTextFormat

成员函数说明

◆ appendCrumb() [1/2]

bool DCrumbEdit::appendCrumb ( const DCrumbTextFormat format)

凭 DCrumbTextFormat类 对象向标签编辑控件中追加新的标签

参数
[in]format一个 DCrumbTextFormat类 的对象. 通过给定的 DCrumbTextFormat 对象所描述的属性创建新的标签并追加到标签编辑控件中。若要创建一个直接可供使用的 DCrumbTextFormat对象, 可以考虑使用 makeTextFormat() 。
返回
插入标签成功时返回 true, 否则返回 false.
参见
DCrumbEdit::makeTextFormat()

◆ appendCrumb() [2/2]

bool DCrumbEdit::appendCrumb ( const QString &  text)

凭文字属性内容向标签编辑控件中追加新的标签

参数
[in]text标签的文字内容. 通过给定的文字创建新的标签并追加到标签编辑控件中。
返回
插入标签成功时返回 true, 否则返回 false.
参见
insertCrumb()

◆ containCrumb()

bool DCrumbEdit::containCrumb ( const QString &  text) const

检查当前控件是否已经包含了 文字名称为 text 的标签

参数
[in]text待检查的标签文字名称
返回
如果包含,返回 true, 否则返回 false

QStringList DCrumbEdit::crumbList() const

取得标签输入控件内已包含的标签列表

DCrumbTextFormat DCrumbEdit::crumbTextFormat(const QString &text) const

根据标签名称取得对应的标签样式属性 DCrumbTextFormat 对象

DCrumbTextFormat DCrumbEdit::makeTextFormat() const

创建一个直接可用的 DCrumbTextFormat 对象.

返回
创建的 DCrumbTextFormat 对象

DCrumbTextFormat DCrumbEdit::makeTextFormat(DCrumbEdit::CrumbType type) const

根据所给的标签类型(颜色)创建一个直接可用的 DCrumbTextFormat 对象. 将根据所给的(颜色)类型创建一个新的 DCrumbTextFormat 对象,并将其内文字属性设为颜色的名称。

返回
创建的 DCrumbTextFormat 对象

void DCrumbEdit::setCrumbReadOnly(bool crumbReadOnly)

设置或取消设置标签编辑控件的只读状态

参数
[in]crumbReadOnly是否只读.

void DCrumbEdit::setCrumbRadius(int crumbRadius)

设置控件圆角半径大小

参数
[in]crumbRadius圆角半径大小.

void DCrumbEdit::setSplitter(const QString &splitter)

设置分割符 设置表示划分标签边界的分割字符,可用于一次性输入多个以给定分隔符分割的标签。

参数
[in]splitter分割线字符.

◆ insertCrumb() [1/2]

bool DCrumbEdit::insertCrumb ( const DCrumbTextFormat format,
int  pos = -1 
)

凭 DCrumbTextFormat类 对象向标签编辑控件中插入新的标签

参数
[in]format一个 DCrumbTextFormat类 的对象.
[in]pos待插入的位置. 根据给定的 DCrumbTextFormat 对象所描述的属性创建新的标签并追加到标签编辑控件中。若要创建一个直接可供使用的 DCrumbTextFormat对象, 可以考虑使用 makeTextFormat() 。
返回
插入标签成功时返回 true, 否则返回 false.
参见
DCrumbEdit::makeTextFormat()

◆ insertCrumb() [2/2]

bool DCrumbEdit::insertCrumb ( const QString &  text,
int  pos = -1 
)

凭文字属性内容向标签编辑控件中插入新的标签

参数
[in]text标签的文字内容.
[in]pos待插入的位置. 通过给定的文字创建新的标签并插入到标签编辑控件中的指定位置。
返回
插入标签成功时返回 true, 否则返回 false.
参见
appendCrumb()

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