跳到主要内容

ItemList

继承

Control

简要描述

在单列或多列中提供可选项目(和/或图标)列表的控件。

描述

该控件提供了一个可选择的项目列表,这些项目可能位于单个(或多个列)中,并带有文本,图标或文本和图标的选项。

可以选择或取消选择列表中的可选项目,并且可以启用多项选择。

项目文本仅支持单行字符串,字符串中的换行符(例如\ n)不会产生换行符。

成员

类型属性名默认值
boolallow_reselectfalse
boolallow_rmb_selectfalse
boolauto_heightfalse
intfixed_column_width0
Vector2fixed_icon_sizeVector2( 0, 0 )
intfocus_mode2
inticon_mode1
floaticon_scale1.0
intmax_columns1
intmax_text_lines1
boolrect_clip_contenttrue
boolsame_column_widthfalse
intselect_mode0

方法

返回值类型方法名称
voidadd_icon_item(icon: Texture, selectable: bool = true)
voidadd_item(text: String, icon: Texture = null, selectable: bool = true)
voidclear()
voidensure_current_is_visible()
intget_item_at_position(position: Vector2, exact: bool = false) const
intget_item_count() const
Colorget_item_custom_bg_color(idx: int) const
Colorget_item_custom_fg_color(idx: int) const
Textureget_item_icon(idx: int) const
Colorget_item_icon_modulate(idx: int) const
Rect2get_item_icon_region(idx: int) const
Variantget_item_metadata(idx: int) const
Stringget_item_text(idx: int) const
Stringget_item_tooltip(idx: int) const
PoolIntArrayget_selected_items()
VScrollBarget_v_scroll()
boolis_anything_selected()
boolis_item_disabled(idx: int) const
boolis_item_icon_transposed(idx: int) const
boolis_item_selectable(idx: int) const
boolis_item_tooltip_enabled(idx: int) const
boolis_selected(idx: int) const
voidmove_item(from_idx: int, to_idx: int)
voidremove_item(idx: int)
voidselect(idx: int, single: bool = true)
voidset_item_custom_bg_color(idx: int, custom_bg_color: Color)
voidset_item_custom_fg_color(idx: int, custom_fg_color: Color)
voidset_item_disabled(idx: int, disabled: bool)
voidset_item_icon(idx: int, icon: Texture)
voidset_item_icon_modulate(idx: int, modulate: Color)
voidset_item_icon_region(idx: int, rect: Rect2)
voidset_item_icon_transposed(idx: int, transposed: bool)
voidset_item_metadata(idx: int, metadata: Variant)
voidset_item_selectable(idx: int, selectable: bool)
voidset_item_text(idx: int, text: String)
voidset_item_tooltip(idx: int, tooltip: String)
voidset_item_tooltip_enabled(idx: int, enable: bool)
voidsort_items_by_text()
voidunselect(idx: int)
voidunselect_all()

信号

  • **item_activated**

通过双击或按Enter激活指定的列表项时触发。


  • **item_rmb_selected**

通过右键单击选择指定的列表项时触发。

还提供了单击位置,以允许在正确的位置适当弹出上下文菜单。

必须启用allow_rmb_select


  • **item_selected**

选择指定项目时触发。

必须启用allow_reselect成员才能重新选择一个项目。


  • **multi_selected**

当列表上的多项选择发生更改时触发,从而允许多项选择。


  • **nothing_selected**

当在列表的区域内但在空白区域上单击鼠标左键时触发。


  • **rmb_clicked**

在列表的矩形内但在空白区域上单击鼠标右键时触发。

必须启用allow_rmb_select


枚举

enum IconMode:

  • **ICON_MODE_TOP = 0**

图标在文本上方绘制。

  • **ICON_MODE_LEFT = 1**

图标被绘制在文本的左侧。


enum SelectMode:

  • **SELECT_SINGLE = 0**

只允许选择一个项目。

  • **SELECT_MULTI = 1**

允许通过按住Ctrl或Shift来选择多个项目。


常量

成员说明

  • bool allow_reselect
Defaultfalse
setterset_allow_reselect(value)
getterget_allow_reselect
  • bool allow_rmb_select
Defaultfalse
setterset_allow_rmb_select(value)
getterget_allow_rmb_select
  • bool auto_height
Defaultfalse
setterset_auto_height(value)
getterhas_auto_height
  • int fixed_column_width
Default0
setterset_fixed_column_width(value)
getterget_fixed_column_width
  • Vector2 fixed_icon_size
DefaultVector2( 0, 0 )
setterset_fixed_icon_size(value)
getterget_fixed_icon_size
  • int focus_mode
Default2
setterset_focus_mode(value)
getterget_focus_mode
  • int icon_mode
Default1
setterset_icon_mode(value)
getterget_icon_mode
  • float icon_scale
Default1.0
setterset_icon_scale(value)
getterget_icon_scale
  • int max_columns
Default1
setterset_max_columns(value)
getterget_max_columns
  • int max_text_lines
Default1
setterset_max_text_lines(value)
getterget_max_text_lines
  • bool rect_clip_content
Defaulttrue
setterset_clip_contents(value)
getteris_clipping_contents
  • bool same_column_width
Defaultfalse
setterset_same_column_width(value)
getteris_same_column_width
  • int select_mode
Default0
setterset_select_mode(value)
getterget_select_mode

方法说明

  • add_icon_item add_icon_item(icon: Texture, selectable: bool = true)

将项目添加到项目列表中,不添加任何文本,仅添加一个图标。


  • add_item add_item(text: String, icon: Texture = null, selectable: bool = true)

将具有指定文本的项目添加到项目列表。

如果selectable是true,则列表项将是可选的。


  • clear clear()

从列表中删除所有项目。


  • ensure_current_is_visible ensure_current_is_visible()

确保当前选择可见,并根据需要调整滚动位置。


  • get_item_at_position get_item_at_position(position: Vector2, exact: bool = false) const

返回给定位置处的项目索引。

如果此时没有项目,则如果exacttrue,则返回-1,否则返回最接近的项目索引。


  • get_item_count get_item_count() const

返回列表中当前的项目数。


  • get_item_custom_bg_color get_item_custom_bg_color(idx: int) const

返回由idx索引指定的项目的自定义背景色。


  • get_item_custom_fg_color get_item_custom_fg_color(idx: int) const

返回由idx索引指定的项目的自定义前景色。


  • get_item_icon get_item_icon(idx: int) const

返回与指定索引关联的图标。


  • get_item_icon_modulate get_item_icon_modulate(idx: int) const

返回指定索引处的Color调制项目的图标。


  • get_item_icon_region get_item_icon_region(idx: int) const

返回使用的项目图标的区域。如果区域没有面积整个图标将会被使用。


  • get_item_metadata get_item_metadata(idx: int) const

返回指定索引的元数据值。


  • get_item_text get_item_text(idx: int) const

返回与指定索引关联的文本。


  • get_item_tooltip get_item_tooltip(idx: int) const

返回与指定索引关联的工具提示提示。


  • get_selected_items get_selected_items()

返回带有所选项目的索引的数组。


  • get_v_scroll get_v_scroll()

返回与列表关联的Object ID。


  • is_anything_selected is_anything_selected()

如果选择一项或多项,则返回true


  • is_item_disabled is_item_disabled(idx: int) const

如果指定索引处的项目被禁用,则返回true


  • is_item_icon_transposed is_item_icon_transposed(idx: int) const

如果项目图标将被绘制为转置位置,即X和Y轴互换,则返回true


  • is_item_selectable is_item_selectable(idx: int) const

如果指定索引处的项目是可选的,则返回true


  • is_item_tooltip_enabled is_item_tooltip_enabled(idx: int) const

如果为指定的项目索引启用了工具提示,则返回true


  • is_selected is_selected(idx: int) const

如果当前选择了指定索引处的项目,则返回true


  • move_item move_item(from_idx: int, to_idx: int)

将项目从索引from_idx移至to_idx


  • remove_item remove_item(idx: int)

从列表中删除idx索引指定的项目。


  • select select(idx: int, single: bool = true)

选择指定索引处的项目。

注意:此方法不会触发项目选择信号。


  • set_item_custom_bg_color set_item_custom_bg_color(idx: int, custom_bg_color: Color)

idx索引指定的项目的背景色设置为指定的Color

var some_string =“某些文本”
some_string.set_item_custom_bg_color(0,Color(1001

  • set_item_custom_fg_color set_item_custom_fg_color(idx: int, custom_fg_color: Color)

idx索引指定的项目的前景色设置为指定的Color

var some_string =“某些文本”
some_string.set_item_custom_fg_color(0,Color(1001

  • set_item_disabled set_item_disabled(idx: int, disabled: bool)

禁用(或启用)指定索引处的项目。

无法选择禁用的项目,并且不会触发激活信号(双击或按Enter时)。


  • set_item_icon set_item_icon(idx: int, icon: Texture)

设置(或替换)与指定索引关联的图标的[纹理]


  • set_item_icon_modulate set_item_icon_modulate(idx: int, modulate: Color)

设置与指定索引关联的项目的调制[颜色]


  • set_item_icon_region set_item_icon_region(idx: int, rect: Rect2)

设置使用的项目图标的区域。


  • set_item_icon_transposed set_item_icon_transposed(idx: int, transposed: bool)

设置是否以转置方式绘制项目图标。


  • set_item_metadata set_item_metadata(idx: int, metadata: Variant)

设置一个值(任何类型),该值将与与指定索引关联的项目一起存储。


  • set_item_selectable set_item_selectable(idx: int, selectable: bool)

允许或不允许选择与指定索引关联的项目。


  • set_item_text set_item_text(idx: int, text: String)

设置与指定索引关联的项目的文本。


  • set_item_tooltip set_item_tooltip(idx: int, tooltip: String)

设置与指定索引关联的项目的工具提示提示。


  • set_item_tooltip_enabled set_item_tooltip_enabled(idx: int, enable: bool)

设置是否为指定的项目索引启用工具提示提示。


  • sort_items_by_text sort_items_by_text()

按文本对列表中的项目进行排序。


  • unselect unselect(idx: int)

确保未选择与指定索引关联的项目。


  • unselect_all unselect_all()

确保没有选择任何项目。