跳到主要内容

RichTextLabel

继承

Control

简要描述

显示富文本的标签。

描述

富文本格式可以包含自定义文本,字体,图像和一些基本格式。标签将它们作为内部标签堆栈进行管理。 它还可以适应给定的宽度/高度。

注意:bbcode_text的分配清除了标签栈,并从属性的内容中对其进行了重构。对bbcode_text所做的任何编辑都将抹掉先前从其他来源进行的编辑,例如append_bbcodepush _ * /pop方法。

成员

类型属性名默认值
boolbbcode_enabledfalse
Stringbbcode_text""
Arraycustom_effects[]
boolmeta_underlinedtrue
booloverride_selected_font_colorfalse
floatpercent_visible1.0
boolrect_clip_contenttrue
boolscroll_activetrue
boolscroll_followingfalse
boolselection_enabledfalse
inttab_size4
Stringtext""
intvisible_characters-1

方法

返回值类型方法名称
voidadd_image(image: Texture, width: int = 0, height: int = 0)
voidadd_text(text: String)
intappend_bbcode(bbcode: String)
voidclear()
intget_content_height()
intget_line_count() const
intget_total_character_count() const
VScrollBarget_v_scroll()
intget_visible_line_count() const
voidinstall_effect(effect: Variant)
voidnewline()
intparse_bbcode(bbcode: String)
Dictionaryparse_expressions_for_values(expressions: PoolStringArray)
voidpop()
voidpush_align(align: int)
voidpush_bold()
voidpush_bold_italics()
voidpush_cell()
voidpush_color(color: Color)
voidpush_font(font: Font)
voidpush_indent(level: int)
voidpush_italics()
voidpush_list(type: int)
voidpush_meta(data: Variant)
voidpush_mono()
voidpush_normal()
voidpush_strikethrough()
voidpush_table(columns: int)
voidpush_underline()
boolremove_line(line: int)
voidscroll_to_line(line: int)
voidset_table_column_expand(column: int, expand: bool, ratio: int)

信号

  • **meta_clicked**

当用户单击元标记之间的内容时触发。如果meta是用文字定义的,例如 [=] hi [/url],则此信号的参数将为String类型。 如果需要特定类型或对象,则必须使用push_meta方法将数据手动插入标签栈中。


  • **meta_hover_ended**

当鼠标退出meta标签时触发。


  • **meta_hover_started**

当鼠标进入meta标签时触发。


枚举

enum Align:

  • **ALIGN_LEFT = 0**

使文本左对齐。

  • **ALIGN_CENTER = 1**

使文本居中。

  • **ALIGN_RIGHT = 2**

使文本右对齐。

  • **ALIGN_FILL = 3**

使文本填充宽度。


enum ListType:

  • **LIST_NUMBERS = 0**

每个列表项都有一个数字标记。

  • **LIST_LETTERS = 1**

每个列表项都有一个字母标记。

  • **LIST_DOTS = 2**

每个列表项都有一个实心圆圈标记。


enum ItemType:

  • **ITEM_FRAME = 0**
  • **ITEM_TEXT = 1**
  • **ITEM_IMAGE = 2**
  • **ITEM_NEWLINE = 3**
  • **ITEM_FONT = 4**
  • **ITEM_COLOR = 5**
  • **ITEM_UNDERLINE = 6**
  • **ITEM_STRIKETHROUGH = 7**
  • **ITEM_ALIGN = 8**
  • **ITEM_INDENT = 9**
  • **ITEM_LIST = 10**
  • **ITEM_TABLE = 11**
  • **ITEM_FADE = 12**
  • **ITEM_SHAKE = 13**
  • **ITEM_WAVE = 14**
  • **ITEM_TORNADO = 15**
  • **ITEM_RAINBOW = 16**
  • **ITEM_CUSTOMFX = 18**
  • **ITEM_META = 17**

常量

成员说明

  • bool bbcode_enabled
Defaultfalse
setterset_use_bbcode(value)
getteris_using_bbcode
  • String bbcode_text
Default""
setterset_bbcode(value)
getterget_bbcode
  • Array custom_effects
Default[]
setterset_effects(value)
getterget_effects
  • bool meta_underlined
Defaulttrue
setterset_meta_underline(value)
getteris_meta_underlined
  • bool override_selected_font_color
Defaultfalse
setterset_override_selected_font_color(value)
getteris_overriding_selected_font_color
  • float percent_visible
Default1.0
setterset_percent_visible(value)
getterget_percent_visible
  • bool rect_clip_content
Defaulttrue
setterset_clip_contents(value)
getteris_clipping_contents
  • bool scroll_active
Defaulttrue
setterset_scroll_active(value)
getteris_scroll_active
  • bool scroll_following
Defaultfalse
setterset_scroll_follow(value)
getteris_scroll_following
  • bool selection_enabled
Defaultfalse
setterset_selection_enabled(value)
getteris_selection_enabled
  • int tab_size
Default4
setterset_tab_size(value)
getterget_tab_size
  • String text
Default""
setterset_text(value)
getterget_text
  • int visible_characters
Default-1
setterset_visible_characters(value)
getterget_visible_characters

方法说明

  • add_image add_image(image: Texture, width: int = 0, height: int = 0)

将图像的开始和结束标签添加到标签堆栈中,可以选择提供widthheight来调整图像的大小。

如果将widthheight设置为0,将调整图像尺寸以保持原始的宽高比。


  • add_text add_text(text: String)

将未经BBCode解析的原始文本添加到标签堆栈。


  • append_bbcode append_bbcode(bbcode: String)

解析bbcode并根据需要将标签添加到标签堆栈。返回解析结果,如果成功,则返回OK


  • clear clear()

清除标签栈,并将bbcode_text设置为空字符串。


  • get_content_height get_content_height()

返回内容的高度。


  • get_line_count get_line_count() const

返回标签堆栈的文本标签中换行符的总数。


  • get_total_character_count get_total_character_count() const

返回文本标签中的字符总数。


  • get_v_scroll get_v_scroll()

返回垂直滚动条。


  • get_visible_line_count get_visible_line_count() const

返回可见行数。


  • install_effect install_effect(effect: Variant)

安装自定义效果。effect应该是有效的RichTextEffect


  • newline newline()

向标签堆栈添加换行标签。


  • parse_bbcode parse_bbcode(bbcode: String)

append_bbcode的分配版本。清除标签栈并插入新内容。如果成功解析bbcode,则返回OK


  • parse_expressions_for_values parse_expressions_for_values(expressions: PoolStringArray)

将BBCode参数expressions解析为字典。


  • pop pop()

终止当前标签。在push _ *方法之后使用可以手动关闭BBCodes。 不需要遵循add _ *方法。


  • push_align push_align(align: int)

根据给定的align值添加[align]标签。


  • push_bold push_bold()

将带有粗体的[font]标签添加到标签堆栈中。


  • push_bold_italics push_bold_italics()

将带有粗体斜体字体的[font]标签添加到标签堆栈。


  • push_cell push_cell()

[cell]标签添加到标签堆栈。有关详细信息,请参见push_table


  • push_color push_color(color: Color)

[color]标签添加到标签堆栈。


  • push_font push_font(font: Font)

[font]标签添加到标签堆栈。在其持续时间内覆盖默认字体。


  • push_indent push_indent(level: int)

[indent]标签添加到标签栈。将level乘以当前tab_size,以确定新的边距长度。


  • push_italics push_italics()

将带有斜体的[font]标签添加到标签堆栈中。如果当前不在**标记中,则这与添加*标记相同。


  • push_list push_list(type: int)

[list]标签添加到标签堆栈。与BBCodes [ol][ul]类似,但支持更多列表类型。 尚未完全实施!


  • push_meta push_meta(data: Variant)

[meta]标签添加到标签堆栈。与BBCode [=] {text} [/url]类似,但支持非String元数据类型。


  • push_mono push_mono()

将具有等宽字体的[font]标签添加到标签堆栈。


  • push_normal push_normal()

将具有常规字体的[font]标签添加到标签堆栈。


  • push_strikethrough push_strikethrough()

[s]标签添加到标签栈。


  • push_table push_table(columns: int)

[=]标签添加到标签堆栈。


  • push_underline push_underline()

[u]标签添加到标签堆栈。


  • remove_line remove_line(line: int)

从标签中删除一行内容。如果该行存在,则返回true

line参数是要删除的行的索引,它可以采用[0,get_line_count()-1]区间中的值。


  • scroll_to_line scroll_to_line(line: int)

滚动窗口的顶行以匹配line


  • set_table_column_expand set_table_column_expand(column: int, expand: bool, ratio: int)

编辑所选列的扩展选项。如果expandtrue,则该列按其扩展比例与其他列的比例成比例地扩展。

例如,比率为3和4的2列加上可用宽度的70像素将分别扩展30和40像素。

如果expandfalse,则该列将不占总比率。