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

Hérite de : Control < CanvasItem < Node < Object

Une liste verticale d'éléments sélectionnables avec une ou plusieurs colonnes.

Description

Ce contrôle fournit une liste verticale d'éléments sélectionnables qui peuvent arrangés en une ou plusieurs colonnes avec pour chaque objet des options de texte et d’icône. Les info-bulles sont supportées et peuvent être différentes pour chaque élément de la liste.

Les éléments sélectionnables dans la liste peuvent être sélectionnés ou désélectionnés et la sélection multiple peut être activée. La sélection au clic droit peut aussi être activée pour permettre l'utilisation des menus contextuels. Les éléments peuvent aussi être "activés" en les double cliquant ou en appuyant sur Entrée.

Le texte d'un élément ne supporte que les chaîne de caractères en une ligne. Les caractères de retour à la ligne (par exemple \n) dans la chaîne ne produiront pas de retour à la ligne. Le retour à la ligne automatique est activé en mode ICON_MODE_TOP, mais la largeur de la colonne est ajustée pour correspondre au contenu par défaut. Vous devez ajuster fixed_column_width à une valeur plus grande que zéro pour que le texte retourne automatiquement à la ligne.

Toutes les méthodes set_* acceptent des indices d'élément négatifs, par exemple -1 pour accéder au dernier élément, -2 pour l'avant dernier, etc.

Recherche incrémentale : Comme PopupMenu et Tree, ItemList supporte la recherche dans la liste lorsque le contrôle a le focus. Appuyez sur une touche qui correspond à la première lettre d'un élément pour sélectionner le premier élément commençant par cette lettre. Après cela, il y à deux façons d'effectuer une recherche incrémentale : 1) Appuyez sur la même touche avant la fin du délai pour sélectionner l'élément suivant commençant par la même lettre. 2) Entrez les lettres qui correspondent au reste du mot avant la fin du délai pour sélectionner l'élément directement. Ces deux actions seront réinitialisées au début de la liste si le délai a expiré depuis le dernier appui enregistré. Vous pouvez ajuster la longueur du délai en changeant ProjectSettings.gui/timers/incremental_search_max_interval_msec.

Propriétés

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

Méthodes

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()

Propriétés du thème

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


Signaux

empty_clicked(at_position: Vector2, mouse_button_index: int) 🔗

Émis quand un clic de souris est émis dans le rectangle de la liste mais sur de l'espace vide.

at_position est la position du clic dans le système de coordonnées local de ce contrôle.


item_activated(index: int) 🔗

Émis lorsque l'élément de la liste spécifié est activé par un double-clic ou en appuyant sur Entrée.


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

Émis lorsque l'élément de la liste spécifié a été cliqué par n'importe quel bouton de la souris.

at_position est la position du clic dans le système de coordonnées local de ce contrôle.


item_selected(index: int) 🔗

Émis lorsque l'élément de la liste spécifié a été sélectionné. Seulement applicable en mode de sélection unique.

allow_reselect doit être activé pour re-sélectionner un élément.


multi_selected(index: int, selected: bool) 🔗

Émis lorsqu'une sélection multiple est modifiée sur une liste autorisant une sélection multiple.


Énumérations

enum IconMode: 🔗

IconMode ICON_MODE_TOP = 0

L'icône est affichée au-dessus du texte.

IconMode ICON_MODE_LEFT = 1

L'icône est affichée à gauche du texte.


enum SelectMode: 🔗

SelectMode SELECT_SINGLE = 0

Ne permettre de ne sélectionner qu'un seul élément.

SelectMode SELECT_MULTI = 1

Autorise la sélection de plusieurs élément en maintenant Ctrl ou Maj appuyé.

SelectMode SELECT_TOGGLE = 2

Autorise la sélection de plusieurs élément en les activant/désactivant.


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.


Descriptions des propriétés

bool allow_reselect = false 🔗

  • void set_allow_reselect(value: bool)

  • bool get_allow_reselect()

Si true, l'élément actuellement sélectionné peut être sélectionné à nouveau.


bool allow_rmb_select = false 🔗

  • void set_allow_rmb_select(value: bool)

  • bool get_allow_rmb_select()

Si true, un clic-droit peut sélectionner des éléments.


  • void set_allow_search(value: bool)

  • bool get_allow_search()

Si true, permet de naviguer dans l'ItemList avec les touches alphabétiques grâce à la recherche incrémentale.


bool auto_height = false 🔗

  • void set_auto_height(value: bool)

  • bool has_auto_height()

Si true, le contrôle redimensionnera automatiquement sa hauteur pour correspondre à son contenu.


bool auto_width = false 🔗

  • void set_auto_width(value: bool)

  • bool has_auto_width()

Si true, le contrôle redimensionnera automatiquement sa largeur pour correspondre à son contenu.


int fixed_column_width = 0 🔗

  • void set_fixed_column_width(value: int)

  • int get_fixed_column_width()

La largeur à laquelle toutes les colonnes seront ajustées.

Une valeur de zéro désactive l'ajustement, chaque élément aura une largeur égale à la largeur de son contenu et les colonnes auront une largeur inégale.


Vector2i fixed_icon_size = Vector2i(0, 0) 🔗

La taille à laquelle seront ajustées toutes les icônes.

Si une des composantes X ou Y n'est pas supérieure à zéro, la taille de l'icône ne sera pas affectée.


IconMode icon_mode = 1 🔗

La position de l'icône, que ce soit au-dessus ou à gauche du texte. Voir les constantes IconMode.


float icon_scale = 1.0 🔗

  • void set_icon_scale(value: float)

  • float get_icon_scale()

L'échelle de l'icône appliquée après que fixed_icon_size et la transposition prennent effet.


int item_count = 0 🔗

  • void set_item_count(value: int)

  • int get_item_count()

Le nombre d'éléments actuellement dans la liste.


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()

Les colonnes maximales que la liste aura.

Si supérieur à zéro, le contenu sera divisé entre les colonnes spécifiées.

Une valeur de zéro signifie des colonnes illimitées, c'est-à-dire que tous les éléments seront mis sur la même ligne.


int max_text_lines = 1 🔗

  • void set_max_text_lines(value: int)

  • int get_max_text_lines()

Lignes maximales de texte autorisées dans chaque élément. De l'espace sera réservé même lorsqu'il n'y a pas assez de lignes de texte à afficher.

Note : Cette propriété prend effet seulement lorsque icon_mode vaut ICON_MODE_TOP. Pour que le texte revienne à la ligne automatiquement, fixed_column_width devrait être supérieur à zéro.


bool same_column_width = false 🔗

  • void set_same_column_width(value: bool)

  • bool is_same_column_width()

Si toutes les colonnes ont la même largeur.

Si true, la largeur est égale à la plus grande largeur de colonne de toutes les colonnes.


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 🔗

Autorise la sélection d'un ou plusieurs éléments. Voir les constantes SelectMode.


OverrunBehavior text_overrun_behavior = 3 🔗

Le comportement de coupure lorsque le texte dépasse le rectangle délimitant d'un objet.


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()

Si true, le contrôle déplacera automatiquement les éléments dans une nouvelle ligne pour s'adapter à son contenu. Voir aussi HFlowContainer pour ce comportement.

Si false, le contrôle ajoutera une barre de défilement horizontale pour rendre tous les éléments visibles.


Descriptions des méthodes

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

Ajoute un élément à la liste des éléments, sans texte, seulement une icône. Renvoie l'index d'un article ajouté.


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

Ajoute un élément à la liste d'éléments avec le texte spécifié. Renvoie l'index d'un article ajouté.

Spécifiez un icon, ou utilisez null comme icon pour un élément de la liste sans icône.

Si selectable vaut true, l'élément de la liste sera sélectionnable.


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() 🔗

Retire tous les éléments de la liste.


void deselect(idx: int) 🔗

Assure que l'élément associé à la position donnée n'est pas sélectionné.


void deselect_all() 🔗

S'assure qu'aucun élément n'est sélectionné.


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() 🔗

Force une mise à jour de la taille de la liste en fonction de ses éléments. Cela se produit automatiquement lorsque la taille des éléments, ou d'autres paramètres pertinents comme auto_height, changent. La méthode peut être utilisée pour déclencher la mise à jour avant la prochaine passe de dessin.


HScrollBar get_h_scroll_bar() 🔗

Renvoie la barre de défilement horizontale.

Avertissement : Il s'agit d'un nœud interne nécessaire, le retirer et le libérer peut causer un plantage. Si vous voulez le cacher lui ou l'un de ses enfants, utilisez plutôt CanvasItem.visible.


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

Renvoie l'index de l'élément à la position donnée.

Lorsqu'il n'y a pas d'élément à ce point, -1 sera renvoyé si exact vaut true, et l'indice de l'élément le plus proche sera renvoyé sinon.

Note : La valeur renvoyée n'est pas fiable si ceci est appelé juste après avoir modifié l'ItemList, avant qu'elle ne se redessine dans la prochaine trame.


AutoTranslateMode get_item_auto_translate_mode(idx: int) const 🔗

Renvoie le mode d'auto traduction de l'élément.


Color get_item_custom_bg_color(idx: int) const 🔗

Renvoie la couleur d'arrière-plan personnalisée pour l'élément spécifié à l'index idx.


Color get_item_custom_fg_color(idx: int) const 🔗

Renvoie la couleur d'avant-plan personnalisée pour l'élément spécifié à l'index idx.


Texture2D get_item_icon(idx: int) const 🔗

Renvoie l'icône associée avec l'index donné.


Color get_item_icon_modulate(idx: int) const 🔗

Renvoie la Color de modulation pour l'icône de l'élément à la position donnée.


Rect2 get_item_icon_region(idx: int) const 🔗

Renvoie la région utilisée de l'icône de l'élément. L'icône entière sera utilisée si la région n'a pas d'aire.


String get_item_language(idx: int) const 🔗

Renvoie le code de langue du texte de l'élément.


Variant get_item_metadata(idx: int) const 🔗

Renvoie la valeur des métadonnées de l’index spécifié.


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

Renvoie la position et la taille de l'élément avec l'index spécifié, dans le système de coordonnées du nœud ItemList. Si expand vaut true, la dernière colonne s'étend pour remplir le reste de la ligne.

Note : La valeur renvoyée n'est pas fiable si ceci est appelé juste après avoir modifié l'ItemList, avant qu'elle ne se redessine dans la prochaine trame.


String get_item_text(idx: int) const 🔗

Renvoie le texte associé à l’index spécifié.


TextDirection get_item_text_direction(idx: int) const 🔗

Renvoie la direction d'écriture de base du texte de l'élément.


String get_item_tooltip(idx: int) const 🔗

Renvoie l'infobulle d'aide associée à l'index donné.


PackedInt32Array get_selected_items() 🔗

Renvoie un tableau des positions pour les éléments sélectionnés.


VScrollBar get_v_scroll_bar() 🔗

Renvoie la barre de défilement verticale.

Avertissement : Il s'agit d'un nœud interne requis, le retirer et le libérer peut causer un plantage. Si vous voulez le cacher lui ou un de ses enfants, utilisez la propriété CanvasItem.visible.


bool is_anything_selected() 🔗

Renvoie true si un ou plusieurs éléments sont sélectionnés.


bool is_item_disabled(idx: int) const 🔗

Renvoie true si l'élément à la position spécifiée est désactivé.


bool is_item_icon_transposed(idx: int) const 🔗

Renvoie true si l'icône de l'élément sera dessinée transposée, c'est-à-dire que les axes X et Y sont échangés.


bool is_item_selectable(idx: int) const 🔗

Renvoie true si l'élément à la position donnée est sélectionnable.


bool is_item_tooltip_enabled(idx: int) const 🔗

Renvoie true si l'info-bulle est active pour la position donnée.


bool is_selected(idx: int) const 🔗

Renvoie true si l'élément à la position donnée est actuellement sélectionné.


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

Déplace l’élément de l’index from_idx à l'index to_idx.


void remove_item(idx: int) 🔗

Retire l'élément spécifié par la position idx de la liste.


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) 🔗

Définit le mode de traduction automatique de l'élément associé à l'index spécifié.

Les élément utilisent Node.AUTO_TRANSLATE_MODE_INHERIT par défaut, qui utilise le même mode de traduction automatique que l'ItemList elle-même.


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

Définit la couleur d'arrière-plan de l'élément à l'index idx à la Color spécifiée.


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

Définit la couleur d'avant-plan de l'élément à la position idx à la Color spécifiée.


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

Désactive (ou active) l'élément à l'index spécifié.

Les éléments désactivés ne peuvent pas être sélectionnés et ne déclenchent pas de signaux d'activation (lorsque double-cliqués ou que Entrée est appuyé).


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

Définit (ou remplace) la Texture2D de l'icône associée à la position donnée.


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

Définit la Color de modulation de l'élément associé à la position donnée.


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

Définit la région utilisée de l'icône de l’élément. L'icône entière sera utilisée si la région n'a pas d'aire.


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

Définit si l'icône de l'élément sera dessinée transposée.


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) 🔗

Définit une valeur (de tout type) à stocker avec l'élément associé à l'index spécifié.


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

Permet ou interdit la sélection de l’élément associé à l’index spécifié.


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

Définit le texte de l’élément associé à l’index spécifié.


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

Définit la direction d'écriture de base du texte.


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

Définit l’indice d’info-bulle de l’élément associé à l’index spécifié.


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

Définit si l’infobulle est active pour la position donnée.


void sort_items_by_text() 🔗

Trie les éléments de la liste par leur texte.


Descriptions des propriétés du thème

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

La Color par défaut du texte de l'élément.


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

Color du texte utilisée lorsque l'élément est survolé et pas encore sélectionné.


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

Color du texte utilisée quand l'élément est survolé et sélectionné.


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

Le teinte du contour de texte de l'élément.


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

Color du texte utilisée quand l'élément est sélectionné, mais pas survolé.


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

Color de la ligne directrice. La ligne directrice est affichée entre chaque ligne d'éléments.


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

Color used to modulate the scroll_hint texture.


int h_separation = 4 🔗

L'espacement horizontal entre les éléments.


int icon_margin = 4 🔗

L'espacement entre l'icône de l'élément et le texte.


int line_separation = 2 🔗

L'espacement vertical entre chaque ligne de texte.


int outline_size = 0 🔗

La taille du contour du texte de l'élément.

Note : Si vous utilisez une police avec FontFile.multichannel_signed_distance_field activé, sa FontFile.msdf_pixel_range doit être définie à au moins deux fois la valeur de outline_size pour que le rendu du contour puisse être correct. Sinon, le contour peut sembler être coupé plus tôt que prévu.


int v_separation = 4 🔗

L'espacement vertical entre les éléments.


Font font 🔗

Font du texte de l’élément.


int font_size 🔗

Taille de police du texte de l'élément.


Texture2D scroll_hint 🔗

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


StyleBox cursor 🔗

La StyleBox utilisée pour le curseur, quand l'ItemList a le focus.


StyleBox cursor_unfocused 🔗

La StyleBox utilisée pour le curseur, quand l'ItemList n'a pas le focus.


StyleBox focus 🔗

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


StyleBox hovered 🔗

StyleBox pour les articles survolés, mais non sélectionnés.


StyleBox hovered_selected 🔗

StyleBox pour les éléments sélectionnés et survolés, utilisée quand l'ItemList n'a pas le focus.


StyleBox hovered_selected_focus 🔗

StyleBox pour les éléments sélectionnés et survolés, utilisée quand l'ItemList a le focus.


StyleBox panel 🔗

Le style d'arrière-plan pour l'ItemList.


StyleBox selected 🔗

StyleBox pour les éléments sélectionnés, utilisée quand l'ItemList n'a pas le focus.


StyleBox selected_focus 🔗

StyleBox pour les éléments sélectionnés, utilisée quand l'ItemList a le focus.