ItemList
继承
简要描述
在单列或多列中提供可选项目(和/或图标)列表的控件。
描述
该控件提供了一个可选择的项目列表,这些项目可能位于单个(或多个列)中,并带有文本,图标或文本和图标的选项。
可以选择或取消选择列表中的可选项目,并且可以启用多项选择。
项目文本仅支持单行字符串,字符串中的换行符(例如\ n
)不会产生换行符。
成员
类型 | 属性名 | 默认值 |
---|---|---|
bool | allow_reselect | false |
bool | allow_rmb_select | false |
bool | auto_height | false |
int | fixed_column_width | 0 |
Vector2 | fixed_icon_size | Vector2( 0, 0 ) |
int | focus_mode | 2 |
int | icon_mode | 1 |
float | icon_scale | 1.0 |
int | max_columns | 1 |
int | max_text_lines | 1 |
bool | rect_clip_content | true |
bool | same_column_width | false |
int | select_mode | 0 |
方法
返回值类型 | 方法名称 |
---|---|
void | add_icon_item(icon: Texture, selectable: bool = true) |
void | add_item(text: String, icon: Texture = null, selectable: bool = true) |
void | clear() |
void | ensure_current_is_visible() |
int | get_item_at_position(position: Vector2, exact: bool = false) const |
int | get_item_count() const |
Color | get_item_custom_bg_color(idx: int) const |
Color | get_item_custom_fg_color(idx: int) const |
Texture | get_item_icon(idx: int) const |
Color | get_item_icon_modulate(idx: int) const |
Rect2 | get_item_icon_region(idx: int) const |
Variant | get_item_metadata(idx: int) const |
String | get_item_text(idx: int) const |
String | get_item_tooltip(idx: int) const |
PoolIntArray | get_selected_items() |
VScrollBar | get_v_scroll() |
bool | is_anything_selected() |
bool | is_item_disabled(idx: int) const |
bool | is_item_icon_transposed(idx: int) const |
bool | is_item_selectable(idx: int) const |
bool | is_item_tooltip_enabled(idx: int) const |
bool | is_selected(idx: int) const |
void | move_item(from_idx: int, to_idx: int) |
void | remove_item(idx: int) |
void | select(idx: int, single: bool = true) |
void | set_item_custom_bg_color(idx: int, custom_bg_color: Color) |
void | set_item_custom_fg_color(idx: int, custom_fg_color: Color) |
void | set_item_disabled(idx: int, disabled: bool) |
void | set_item_icon(idx: int, icon: Texture) |
void | set_item_icon_modulate(idx: int, modulate: Color) |
void | set_item_icon_region(idx: int, rect: Rect2) |
void | set_item_icon_transposed(idx: int, transposed: bool) |
void | set_item_metadata(idx: int, metadata: Variant) |
void | set_item_selectable(idx: int, selectable: bool) |
void | set_item_text(idx: int, text: String) |
void | set_item_tooltip(idx: int, tooltip: String) |
void | set_item_tooltip_enabled(idx: int, enable: bool) |
void | sort_items_by_text() |
void | unselect(idx: int) |
void | unselect_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
Default | false |
---|---|
setter | set_allow_reselect(value) |
getter | get_allow_reselect |
- bool allow_rmb_select
Default | false |
---|---|
setter | set_allow_rmb_select(value) |
getter | get_allow_rmb_select |
- bool auto_height
Default | false |
---|---|
setter | set_auto_height(value) |
getter | has_auto_height |
- int fixed_column_width
Default | 0 |
---|---|
setter | set_fixed_column_width(value) |
getter | get_fixed_column_width |
- Vector2 fixed_icon_size
Default | Vector2( 0, 0 ) |
---|---|
setter | set_fixed_icon_size(value) |
getter | get_fixed_icon_size |
- int focus_mode
Default | 2 |
---|---|
setter | set_focus_mode(value) |
getter | get_focus_mode |
- int icon_mode
Default | 1 |
---|---|
setter | set_icon_mode(value) |
getter | get_icon_mode |
- float icon_scale
Default | 1.0 |
---|---|
setter | set_icon_scale(value) |
getter | get_icon_scale |
- int max_columns
Default | 1 |
---|---|
setter | set_max_columns(value) |
getter | get_max_columns |
- int max_text_lines
Default | 1 |
---|---|
setter | set_max_text_lines(value) |
getter | get_max_text_lines |
- bool rect_clip_content
Default | true |
---|---|
setter | set_clip_contents(value) |
getter | is_clipping_contents |
- bool same_column_width
Default | false |
---|---|
setter | set_same_column_width(value) |
getter | is_same_column_width |
- int select_mode
Default | 0 |
---|---|
setter | set_select_mode(value) |
getter | get_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
返回给定位置
处的项目索引。
如果此时没有项目,则如果exact
为true
,则返回-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(1、0、0、1)
- 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(1、0、0、1)
- 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()
确保没有选择任何项目。