Attention: Here be dragons

This is the latest (unstable) version of this documentation, which may document features not available in or compatible with released stable versions of Godot.

ItemList

Eredita: Control < CanvasItem < Node < Object

Un elenco verticale di elementi selezionabili con una o più colonne.

Descrizione

Questo controllo fornisce un elenco verticale di elementi selezionabili che possono essere in una o più colonne, con ogni elemento con opzioni per il testo e un'icona. I tooltip sono supportati e possono essere diversi per ogni elemento nell'elenco.

È possibile selezionare o deselezionare gli elementi selezionabili nell'elenco, e abilitare la selezione multipla. La selezione con il pulsante destro del mouse può anche essere abilitata per consentire l'uso di menu contestuali a comparsa. È possibile inoltre "attivare" gli elementi cliccando due volte su di essi o premendo Invio.

Il testo di un elemento supporta solo stringhe a riga singola. I caratteri di nuova riga (ad esempio \n) nella stringa non produrranno una nuova riga. L'avvolgimento del testo è abilitata in modalità ICON_MODE_TOP, ma la larghezza della colonna è regolata per adattarsi completamente al suo contenuto per impostazione predefinita. È necessario impostare fixed_column_width maggiore di zero per avvolgere il testo.

Tutti i metodi set_* consentono gli indici negativi per gli elementi, ad esempio -1 per accedere all'ultimo elemento, -2 per accedere al penultimo elemento e così via.

Ricerca incrementale: Come PopupMenu e Tree, ItemList supporta la ricerca all'interno dell'elenco mentre il controllo è attivo. Premi un tasto che corrisponde alla prima lettera del nome di un elemento per selezionare il primo elemento che inizia con la lettera specificata. Dopo quel punto, ci sono due modi per eseguire la ricerca incrementale: 1) Premi di nuovo lo stesso tasto prima della durata del timeout per selezionare l'elemento successivo che inizia con la stessa lettera. 2) Premi i tasti delle lettere che corrispondono al resto della parola prima della durata del timeout per selezionare direttamente l'elemento in questione. Entrambe queste azioni verranno ripristinate all'inizio dell'elenco se la durata del timeout è trascorsa dall'ultima pressione di un tasto. È possibile regolare la durata del timeout modificando ProjectSettings.gui/timers/incremental_search_max_interval_msec.

Proprietà

bool

allow_reselect

false

bool

allow_rmb_select

false

bool

allow_search

true

bool

auto_height

false

bool

auto_width

false

bool

clip_contents

true (overrides Control)

int

fixed_column_width

0

Vector2i

fixed_icon_size

Vector2i(0, 0)

FocusMode

focus_mode

2 (overrides Control)

IconMode

icon_mode

1

float

icon_scale

1.0

int

item_count

0

bool

item_{index}/disabled

false

Texture2D

item_{index}/icon

bool

item_{index}/selectable

true

String

item_{index}/text

""

int

max_columns

1

int

max_text_lines

1

bool

same_column_width

false

ScrollHintMode

scroll_hint_mode

0

SelectMode

select_mode

0

OverrunBehavior

text_overrun_behavior

3

bool

tile_scroll_hint

false

bool

wraparound_items

true

Metodi

int

add_icon_item(icon: Texture2D, selectable: bool = true)

int

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

void

center_on_current(center_verically: bool = true, center_horizontally: bool = true)

void

clear()

void

deselect(idx: int)

void

deselect_all()

void

ensure_current_is_visible()

void

force_update_list_size()

HScrollBar

get_h_scroll_bar()

int

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

AutoTranslateMode

get_item_auto_translate_mode(idx: int) const

Color

get_item_custom_bg_color(idx: int) const

Color

get_item_custom_fg_color(idx: int) const

Texture2D

get_item_icon(idx: int) const

Color

get_item_icon_modulate(idx: int) const

Rect2

get_item_icon_region(idx: int) const

String

get_item_language(idx: int) const

Variant

get_item_metadata(idx: int) const

Rect2

get_item_rect(idx: int, expand: bool = true) const

String

get_item_text(idx: int) const

TextDirection

get_item_text_direction(idx: int) const

String

get_item_tooltip(idx: int) const

PackedInt32Array

get_selected_items()

VScrollBar

get_v_scroll_bar()

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_auto_translate_mode(idx: int, mode: AutoTranslateMode)

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: Texture2D)

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_language(idx: int, language: String)

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_text_direction(idx: int, direction: TextDirection)

void

set_item_tooltip(idx: int, tooltip: String)

void

set_item_tooltip_enabled(idx: int, enable: bool)

void

sort_items_by_text()

Proprietà del tema

Color

font_color

Color(0.65, 0.65, 0.65, 1)

Color

font_hovered_color

Color(0.95, 0.95, 0.95, 1)

Color

font_hovered_selected_color

Color(1, 1, 1, 1)

Color

font_outline_color

Color(0, 0, 0, 1)

Color

font_selected_color

Color(1, 1, 1, 1)

Color

guide_color

Color(0.7, 0.7, 0.7, 0.25)

Color

scroll_hint_color

Color(0, 0, 0, 1)

int

h_separation

4

int

icon_margin

4

int

line_separation

2

int

outline_size

0

int

v_separation

4

Font

font

int

font_size

Texture2D

scroll_hint

StyleBox

cursor

StyleBox

cursor_unfocused

StyleBox

focus

StyleBox

hovered

StyleBox

hovered_selected

StyleBox

hovered_selected_focus

StyleBox

panel

StyleBox

selected

StyleBox

selected_focus


Segnali

empty_clicked(at_position: Vector2, mouse_button_index: int) 🔗

Attivato quando si clicca con il mouse all'interno del rettangolo dell'elenco ma su uno spazio vuoto.

at_position è la posizione del clic nel sistema di coordinate locali di questo controllo.


item_activated(index: int) 🔗

Emesso quando un determinato elemento nell'elenco viene attivato tramite doppio clic o premendo Invio.


item_clicked(index: int, at_position: Vector2, mouse_button_index: int) 🔗

Emesso quando un determinato elemento nell'elenco è stato cliccato con un qualsiasi pulsante del mouse.

at_position è la posizione del clic nel sistema di coordinate locali di questo controllo.


item_selected(index: int) 🔗

Emesso quando un determinato elemento è stato selezionato. Applicabile solo in modalità di selezione singola.

allow_reselect deve essere abilitato per selezionare nuovamente lo stesso elemento.


multi_selected(index: int, selected: bool) 🔗

Emesso quando viene alterata una selezione multipla in un elenco che consente la selezione multipla.


Enumerazioni

enum IconMode: 🔗

IconMode ICON_MODE_TOP = 0

L'icona è disegnata sopra il testo.

IconMode ICON_MODE_LEFT = 1

L'icona è disegnata a sinistra del testo.


enum SelectMode: 🔗

SelectMode SELECT_SINGLE = 0

Permette la selezione di un solo elemento.

SelectMode SELECT_MULTI = 1

Consente di selezionare più elementi tenendo premuto Ctrl o Maiusc.

SelectMode SELECT_TOGGLE = 2

Consente di selezionare più elementi attivandoli e disattivandoli.


enum ScrollHintMode: 🔗

ScrollHintMode SCROLL_HINT_MODE_DISABLED = 0

Scroll hints will never be shown.

ScrollHintMode SCROLL_HINT_MODE_BOTH = 1

Scroll hints will be shown at the top and bottom.

ScrollHintMode SCROLL_HINT_MODE_TOP = 2

Only the top scroll hint will be shown.

ScrollHintMode SCROLL_HINT_MODE_BOTTOM = 3

Only the bottom scroll hint will be shown.


Descrizioni delle proprietà

bool allow_reselect = false 🔗

  • void set_allow_reselect(value: bool)

  • bool get_allow_reselect()

Se true, l'elemento attualmente selezionato può essere selezionato nuovamente.


bool allow_rmb_select = false 🔗

  • void set_allow_rmb_select(value: bool)

  • bool get_allow_rmb_select()

Se true, un clic destro può selezionare gli elementi.


  • void set_allow_search(value: bool)

  • bool get_allow_search()

Se true, consente di navigare con i tasti di lettera attraverso la ricerca incrementale.


bool auto_height = false 🔗

  • void set_auto_height(value: bool)

  • bool has_auto_height()

Se true, l'altezza del controllo sarà automaticamente regolata per adattarsi all'altezza del contenuto.


bool auto_width = false 🔗

  • void set_auto_width(value: bool)

  • bool has_auto_width()

Se true, il controllo ridimensionerà automaticamente la sua larghezza per adattarla al suo contenuto.


int fixed_column_width = 0 🔗

  • void set_fixed_column_width(value: int)

  • int get_fixed_column_width()

La larghezza a cui saranno regolate tutte le colonne.

Un valore di zero disabilita la regolazione, ogni elemento avrà una larghezza uguale alla larghezza del suo contenuto e le colonne avranno una larghezza non uniforme.


Vector2i fixed_icon_size = Vector2i(0, 0) 🔗

Le dimensioni a cui saranno adattate tutte le icone.

Se uno dei componenti X o Y non è maggiore di zero, le dimensioni dell'icona non saranno influenzate.


IconMode icon_mode = 1 🔗

La posizione dell'icona, se sopra o a sinistra del testo. Vedi le costanti di IconMode.


float icon_scale = 1.0 🔗

  • void set_icon_scale(value: float)

  • float get_icon_scale()

La scala dell'icona applicata dopo fixed_icon_size e dopo che la trasposizione abbia effetto.


int item_count = 0 🔗

  • void set_item_count(value: int)

  • int get_item_count()

Il numero di elementi attualmente nell'elenco.


bool item_{index}/disabled = false 🔗

If true, the item at index is disabled.

Note: index is a value in the 0 .. item_count - 1 range.


Texture2D item_{index}/icon 🔗

The icon of the item at index.

Note: index is a value in the 0 .. item_count - 1 range.


bool item_{index}/selectable = true 🔗

If true, the item at index is selectable.

Note: index is a value in the 0 .. item_count - 1 range.


String item_{index}/text = "" 🔗

The text of the item at index.

Note: index is a value in the 0 .. item_count - 1 range.


int max_columns = 1 🔗

  • void set_max_columns(value: int)

  • int get_max_columns()

Numero massimo di colonne che l'elenco avrà.

Se maggiore di zero, il contenuto sarà suddiviso tra le colonne specificate.

Un valore di zero significa colonne illimitate, ovvero tutti gli elementi saranno inseriti nella stessa riga.


int max_text_lines = 1 🔗

  • void set_max_text_lines(value: int)

  • int get_max_text_lines()

Numero massimo di righe di testo consentite in ogni elemento. Lo spazio sarà riservato anche quando non ci sono abbastanza righe di testo da visualizzare.

Nota: Questa proprietà ha effetto solo quando icon_mode è ICON_MODE_TOP. Per garantire che il testo si avvolga, fixed_column_width deve essere maggiore di zero.


bool same_column_width = false 🔗

  • void set_same_column_width(value: bool)

  • bool is_same_column_width()

Se tutte le colonne avranno la stessa larghezza.

Se true, la larghezza è uguale alla larghezza della colonna più grande di tutte le colonne.


ScrollHintMode scroll_hint_mode = 0 🔗

The way which scroll hints (indicators that show that the content can still be scrolled in a certain direction) will be shown.


SelectMode select_mode = 0 🔗

Permette la selezione di uno o più elementi. Vedi le costanti di SelectMode.


OverrunBehavior text_overrun_behavior = 3 🔗

Il comportamento di ritaglio quando il testo supera il rettangolo di delimitazione di un elemento.


bool tile_scroll_hint = false 🔗

  • void set_tile_scroll_hint(value: bool)

  • bool is_scroll_hint_tiled()

If true, the scroll hint texture will be tiled instead of stretched. See scroll_hint_mode.


bool wraparound_items = true 🔗

  • void set_wraparound_items(value: bool)

  • bool has_wraparound_items()

Se true, il controllo sposterà automaticamente gli elementi in una nuova riga per adattarne il contenuto. Vedi anche HFlowContainer per questo comportamento.

Se false, il controllo aggiungerà una barra di scorrimento orizzontale per rendere visibili tutti gli elementi.


Descrizioni dei metodi

int add_icon_item(icon: Texture2D, selectable: bool = true) 🔗

Aggiunge un elemento all'elenco di elementi, senza testo, solo un'icona. Restituisce l'indice di un elemento aggiunto.


int add_item(text: String, icon: Texture2D = null, selectable: bool = true) 🔗

Aggiunge un elemento all'elenco di elementi, con il testo specificato. Restituisce l'indice di un elemento aggiunto.

Specifica un icon, oppure usa null come icon per un elemento senza icona.

Se selectable è true, l'elemento sarà selezionabile.


void center_on_current(center_verically: bool = true, center_horizontally: bool = true) 🔗

Ensures the currently selected item (the first selected item if multiple selection is enabled) is visible, adjusting the scroll position as necessary to place the item at the center of the list if possible. See also ensure_current_is_visible().

Fails and prints an error if both arguments are false.


void clear() 🔗

Rimuove tutti gli elementi dall'elenco.


void deselect(idx: int) 🔗

Assicura che l'elemento associato all'indice specificato non sia selezionato.


void deselect_all() 🔗

Assicura che nessun elemento sia selezionato.


void ensure_current_is_visible() 🔗

Ensures the currently selected item (the first selected item if multiple selection is enabled) is visible, adjusting the scroll position as necessary. See also center_on_current().


void force_update_list_size() 🔗

Forza un aggiornamento delle dimensioni dell'elenco in base ai suoi elementi. Ciò avviene automaticamente ogni volta che le dimensioni degli elementi o altre impostazioni rilevanti come auto_height cambiano. Il metodo può essere utilizzato per attivare l'aggiornamento prima del passaggio successivo di disegno.


HScrollBar get_h_scroll_bar() 🔗

Restituisce la barra di scorrimento orizzontale.

Attenzione: Questo è un nodo interno obbligatorio, rimuoverlo e liberarlo potrebbe causare un arresto anomalo. Se si desidera nasconderlo o nascondere uno dei suoi figli, usa la loro proprietà CanvasItem.visible.


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

Restituisce l'indice dell'elemento nella posizione position.

Se non c'è alcun elemento in quel punto, verrà restituito -1 se exact è true, altrimenti verrà restituito l'indice dell'elemento più vicino.

Nota: Il valore restituito non è affidabile se chiamato subito dopo aver modificato l'ItemList, prima che sia ridisegnato nel frame successivo.


AutoTranslateMode get_item_auto_translate_mode(idx: int) const 🔗

Restituisce la modalità di traduzione automatica dell'elemento.


Color get_item_custom_bg_color(idx: int) const 🔗

Restituisce il colore di sfondo personalizzato dell'elemento specificato dall'indice idx.


Color get_item_custom_fg_color(idx: int) const 🔗

Restituisce il colore di primo piano personalizzato dell'elemento specificato dall'indice idx.


Texture2D get_item_icon(idx: int) const 🔗

Restituisce l'icona associata all'indice specificato.


Color get_item_icon_modulate(idx: int) const 🔗

Restituisce un Color che modula l'icona dell'elemento all'indice specificato.


Rect2 get_item_icon_region(idx: int) const 🔗

Restituisce la regione dell'icona utilizzata dell'elemento. Se la regione non ha area, l'intera icona sarà utilizzata.


String get_item_language(idx: int) const 🔗

Restituisce il codice di lingua di testo dell'elemento.


Variant get_item_metadata(idx: int) const 🔗

Restituisce il valore dei metadati dell'indice specificato.


Rect2 get_item_rect(idx: int, expand: bool = true) const 🔗

Restituisce la posizione e le dimensioni dell'elemento con l'indice specificato, nel sistema di coordinate del nodo ItemList. Se expand è true l'ultima colonna si espande per riempire il resto della riga.

Nota: Il valore restituito non è affidabile se chiamato subito dopo aver modificato l'ItemList, prima che sia ridisegnato nel frame successivo.


String get_item_text(idx: int) const 🔗

Restituisce il testo associato all'indice specificato.


TextDirection get_item_text_direction(idx: int) const 🔗

Restituisce la direzione di scrittura della base di testo dell'elemento.


String get_item_tooltip(idx: int) const 🔗

Restituisce il testo del tooltip associato all'indice specificato.


PackedInt32Array get_selected_items() 🔗

Restituisce un array con gli indici degli elementi selezionati.


VScrollBar get_v_scroll_bar() 🔗

Restituisce la barra di scorrimento verticale.

Attenzione: Questo è un nodo interno obbligatorio, rimuoverlo e liberarlo potrebbe causare un arresto anomalo. Se si desidera nasconderlo o nascondere uno dei suoi figli, usa la loro proprietà CanvasItem.visible.


bool is_anything_selected() 🔗

Restituisce true se uno o più elementi sono selezionati.


bool is_item_disabled(idx: int) const 🔗

Restituisce true se l'elemento all'indice specificato è disabilitato.


bool is_item_icon_transposed(idx: int) const 🔗

Restituisce true se l'icona dell'oggetto sarà disegnata trasposta, ovvero gli assi X e Y sono scambiati.


bool is_item_selectable(idx: int) const 🔗

Restituisce true se l'elemento all'indice specificato è selezionabile.


bool is_item_tooltip_enabled(idx: int) const 🔗

Restituisce true se il tooltip è abilitato per l'indice dell'elemento specificato.


bool is_selected(idx: int) const 🔗

Restituisce true se l'elemento all'indice specificato è attualmente selezionato.


void move_item(from_idx: int, to_idx: int) 🔗

Sposta l'elemento dall'indice from_idx a to_idx.


void remove_item(idx: int) 🔗

Rimuove l'elemento specificato dall'indice idx dall'elenco.


void select(idx: int, single: bool = true) 🔗

Selects the item at the specified index.

Note: This method does not trigger the item selection signal.


void set_item_auto_translate_mode(idx: int, mode: AutoTranslateMode) 🔗

Imposta la modalità di traduzione automatica dell'elemento associato all'indice specificato.

Gli elementi utilizzano Node.AUTO_TRANSLATE_MODE_INHERIT come predefinito, il quale utilizza la stessa modalità di traduzione automatica dell'ItemList.


void set_item_custom_bg_color(idx: int, custom_bg_color: Color) 🔗

Imposta il colore di sfondo dell'elemento specificato dall'indice idx sul Color specificato.


void set_item_custom_fg_color(idx: int, custom_fg_color: Color) 🔗

Imposta il colore di primo piano dell'elemento specificato dall'indice idx sul Color specificato.


void set_item_disabled(idx: int, disabled: bool) 🔗

Disabilita (o abilita) l'elemento all'indice specificato.

Gli elementi disabilitati non possono essere selezionati e non attivano segnali di attivazione (quando si clicca due volte o si preme Invio).


void set_item_icon(idx: int, icon: Texture2D) 🔗

Imposta (o sostituisce) l'icona Texture2D associata all'indice specificato.


void set_item_icon_modulate(idx: int, modulate: Color) 🔗

Imposta un Color di modulazione dell'elemento associato all'indice specificato.


void set_item_icon_region(idx: int, rect: Rect2) 🔗

Imposta la regione dell'icona dell'elemento utilizzata. Sarà utilizzata l'intera icona se la regione non ha area.


void set_item_icon_transposed(idx: int, transposed: bool) 🔗

Imposta se l'icona dell'elemento sarà disegnata trasposta.


void set_item_language(idx: int, language: String) 🔗

Sets the language code of the text for the item at the given index to language. This is used for line-breaking and text shaping algorithms. If language is empty, the current locale is used.


void set_item_metadata(idx: int, metadata: Variant) 🔗

Imposta un valore (di qualsiasi tipo) da memorizzare con l'elemento associato all'indice specificato.


void set_item_selectable(idx: int, selectable: bool) 🔗

Permette o impedisce la selezione dell'elemento associato all'indice specificato.


void set_item_text(idx: int, text: String) 🔗

Imposta il testo dell'elemento associato all'indice specificato.


void set_item_text_direction(idx: int, direction: TextDirection) 🔗

Imposta la direzione di scrittura della base di testo dell'elemento.


void set_item_tooltip(idx: int, tooltip: String) 🔗

Imposta il testo del tooltip per l'elemento associato all'indice specificato.


void set_item_tooltip_enabled(idx: int, enable: bool) 🔗

Imposta se il tooltip è abilitato per l'indice dell'elemento specificato.


void sort_items_by_text() 🔗

Ordina gli elementi nell'elenco in base al loro testo.


Descrizioni delle proprietà del tema

Color font_color = Color(0.65, 0.65, 0.65, 1) 🔗

Il Color predefinito del testo dell'elemento.


Color font_hovered_color = Color(0.95, 0.95, 0.95, 1) 🔗

Il Color del testo utilizzato quando si passa il mouse sull'elemento e non è ancora selezionato.


Color font_hovered_selected_color = Color(1, 1, 1, 1) 🔗

Il Color del testo utilizzato quando si passa il mouse sull'elemento ed è selezionato.


Color font_outline_color = Color(0, 0, 0, 1) 🔗

La tinta del contorno di testo dell'elemento.


Color font_selected_color = Color(1, 1, 1, 1) 🔗

Il Color del testo utilizzato quando l'elemento è selezionato, ma il mouse non vi è sopra.


Color guide_color = Color(0.7, 0.7, 0.7, 0.25) 🔗

Il Color della linea guida. La linea guida è una linea tracciata tra ogni riga di elementi.


Color scroll_hint_color = Color(0, 0, 0, 1) 🔗

Color used to modulate the scroll_hint texture.


int h_separation = 4 🔗

La spaziatura orizzontale tra gli elementi.


int icon_margin = 4 🔗

La spaziatura tra l'icona dell'elemento e il testo.


int line_separation = 2 🔗

La spaziatura verticale tra ogni riga di testo.


int outline_size = 0 🔗

La dimensione del contorno del testo dell'elemento.

Nota: Se si utilizza un font con FontFile.multichannel_signed_distance_field abilitato, il suo FontFile.msdf_pixel_range deve essere impostato su almeno il doppio del valore di outline_size affinché il rendering del contorno appaia corretto. Altrimenti, il contorno potrebbe apparire troncato prima del previsto.


int v_separation = 4 🔗

La spaziatura verticale tra gli elementi.


Font font 🔗

Il Font del testo dell'elemento.


int font_size 🔗

La dimensione del testo dell'elemento.


Texture2D scroll_hint 🔗

The indicator that will be shown when the content can still be scrolled. See scroll_hint_mode.


StyleBox cursor 🔗

Lo StyleBox utilizzato per il cursore, quando l'ItemList è focalizzato.


StyleBox cursor_unfocused 🔗

Lo StyleBox utilizzato per il cursore, quando l'ItemList è non è focalizzato.


StyleBox focus 🔗

The focused style for the ItemList, drawn on top of everything.


StyleBox hovered 🔗

Lo StyleBox per gli elementi su cui si passa il mouse, ma non sono selezionati.


StyleBox hovered_selected 🔗

Lo StyleBox per gli elementi selezionati e passati dal mouse, quando l'ItemList non è focalizzato.


StyleBox hovered_selected_focus 🔗

Lo StyleBox per gli elementi selezionati e passati dal mouse, quando l'ItemList è focalizzato.


StyleBox panel 🔗

Lo stile di sfondo per l'ItemList.


StyleBox selected 🔗

Lo StyleBox per gli elementi selezionati, quando l'ItemList non è focalizzato.


StyleBox selected_focus 🔗

Lo StyleBox per gli elementi selezionati, quando l'ItemList è focalizzato.