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.

OptionButton

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

Un bouton qui affiche un menu déroulant avec des options sélectionnables lors qu’appuyé.

Description

OptionButton est un type de bouton qui affiche un menu déroulant avec des éléments sélectionnables lors qu’appuyé. L'élément sélectionné devient l'élément "actuel" et s'affiche comme le texte du bouton.

Voir aussi BaseButton qui contient des propriétés et des méthodes communes associées à ce nœud.

Note : Les identifiants utilisés pour les éléments sont limités à des entiers de 32 bits signés, pas aux 64 bits complets de int. Ils ont une plage de -2^31 à 2^31 - 1, c'est-à-dire -2147483648 à 2147483647.

Note : Les propriétés Button.text et Button.icon sont définies automatiquement en fonction de l'élément sélectionné. Elles ne devraient pas être changées manuellement.

Propriétés

ActionMode

action_mode

0 (overrides BaseButton)

HorizontalAlignment

alignment

0 (overrides Button)

bool

allow_reselect

false

bool

fit_to_longest_item

true

int

item_count

0

bool

popup/item_{index}/disabled

false

Texture2D

popup/item_{index}/icon

int

popup/item_{index}/id

0

bool

popup/item_{index}/separator

false

String

popup/item_{index}/text

""

bool

search_bar_enabled

false

bool

search_bar_fuzzy_search_enabled

true

int

search_bar_fuzzy_search_max_misses

2

int

search_bar_min_item_count

0

int

selected

-1

bool

toggle_mode

true (overrides BaseButton)

Méthodes

void

add_icon_item(texture: Texture2D, label: String, id: int = -1)

void

add_item(label: String, id: int = -1)

void

add_separator(text: String = "")

void

clear()

AutoTranslateMode

get_item_auto_translate_mode(idx: int) const

Texture2D

get_item_icon(idx: int) const

int

get_item_id(idx: int) const

int

get_item_index(id: int) const

Variant

get_item_metadata(idx: int) const

String

get_item_text(idx: int) const

String

get_item_tooltip(idx: int) const

PopupMenu

get_popup() const

int

get_selectable_item(from_last: bool = false) const

int

get_selected_id() const

Variant

get_selected_metadata() const

bool

has_selectable_items() const

bool

is_item_disabled(idx: int) const

bool

is_item_separator(idx: int) const

void

remove_item(idx: int)

void

select(idx: int)

void

set_disable_shortcuts(disabled: bool)

void

set_item_auto_translate_mode(idx: int, mode: AutoTranslateMode)

void

set_item_disabled(idx: int, disabled: bool)

void

set_item_icon(idx: int, texture: Texture2D)

void

set_item_id(idx: int, id: int)

void

set_item_metadata(idx: int, metadata: Variant)

void

set_item_text(idx: int, text: String)

void

set_item_tooltip(idx: int, tooltip: String)

void

show_popup()

Propriétés du thème

int

arrow_margin

4

int

modulate_arrow

0

Texture2D

arrow


Signaux

item_focused(index: int) 🔗

Emitted when the user navigates to an item using the ProjectSettings.input/ui_up or ProjectSettings.input/ui_down input actions. The index of the item focused is passed as argument.


item_selected(index: int) 🔗

Émis lorsque l'élément actuel a été changé par l'utilisateur. L'index de l'élément sélectionné est passé en tant qu'argument.

allow_reselect doit être activé pour ré-sélectionner un article.


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 fit_to_longest_item = true 🔗

  • void set_fit_to_longest_item(value: bool)

  • bool is_fit_to_longest_item()

Si true, la taille minimale sera déterminée par le texte de l'élément le plus long, au lieu de celui de l'élément actuellement sélectionné.

Note : Pour des raisons de performances, la taille minimale ne se met pas immédiatement à jour lorsque vous ajoutez, supprimez ou modifiez des éléments.


int item_count = 0 🔗

  • void set_item_count(value: int)

  • int get_item_count()

Le nombre d'éléments sélectionnables.


bool popup/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 popup/item_{index}/icon 🔗

The icon of the item at index.

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


int popup/item_{index}/id = 0 🔗

The ID of the item at index.

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


bool popup/item_{index}/separator = false 🔗

If true, the item at index is a separator.

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


String popup/item_{index}/text = "" 🔗

The text of the item at index.

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


bool search_bar_enabled = false 🔗

  • void set_search_bar_enabled(value: bool)

  • bool is_search_bar_enabled()

If true, shows a search bar at the top of the PopupMenu for filtering items. See search_bar_min_item_count for dynamically controlling its visibility based on the number of items.


bool search_bar_fuzzy_search_enabled = true 🔗

  • void set_search_bar_fuzzy_search_enabled(value: bool)

  • bool is_search_bar_fuzzy_search_enabled()

If true, enables fuzzy searching in the PopupMenu search bar. This allows the search results to include items that almost match the search query, as well items that match the individual characters of the search query, but not in sequence.

Use search_bar_fuzzy_search_max_misses to set the maximum number of mismatches allowed in the search results.


int search_bar_fuzzy_search_max_misses = 2 🔗

  • void set_search_bar_fuzzy_search_max_misses(value: int)

  • int get_search_bar_fuzzy_search_max_misses()

Sets the maximum number of mismatches allowed in each search result when fuzzy searching is enabled for the PopupMenu search bar. Any item with more mismatches will be hidden from the search results.


int search_bar_min_item_count = 0 🔗

  • void set_search_bar_min_item_count(value: int)

  • int get_search_bar_min_item_count()

Sets the minimum number of items required for the PopupMenu search bar to be visible. search_bar_enabled must be true for this to have any effect.


int selected = -1 🔗

  • int get_selected()

L'index de l'élément actuellement sélectionné, ou -1 si aucun élément n'est sélectionné.


Descriptions des méthodes

void add_icon_item(texture: Texture2D, label: String, id: int = -1) 🔗

Ajoute un élément, avec une icône texture, un texte label et (en option) un id. Si aucun id n'est spécifié, l'index de l'élément sera utilisé comme identifiant de l'élément.Les nouveaux éléments sont placés à la fin de la liste.

Note : L'élément sera sélectionné s'il n'y a pas d'autres éléments.


void add_item(label: String, id: int = -1) 🔗

Ajoute un élément, avec le texte label] et (en option) un id. Si aucun id n'est spécifié, l'index de l'élément sera utilisé comme identifiant de l'élément. Les nouveaux éléments sont placés à la fin de la liste.

Note : L'élément sera sélectionné s'il n'y a pas d'autres éléments.


void add_separator(text: String = "") 🔗

Ajoute un séparateur à la liste des éléments. Les séparateurs aident à regrouper les éléments, et peuvent en option recevoir un en-tête text. Un séparateur se voit également assigné un index, et est ajouté à la fin de la liste d'éléments.


void clear() 🔗

Retire tous les éléments du OptionButton.


AutoTranslateMode get_item_auto_translate_mode(idx: int) const 🔗

Renvoie le mode de traduction automatique de l'élément à l'index idx.


Texture2D get_item_icon(idx: int) const 🔗

Renvoie l'icône de l'élément à l'index idx.


int get_item_id(idx: int) const 🔗

Renvoie l'identifiant de l'élément à l'index idx.


int get_item_index(id: int) const 🔗

Renvoie l'index de l'élément avec l'identifiant id donné.


Variant get_item_metadata(idx: int) const 🔗

Récupère les méta-données d'un élément. Les méta-données peuvent être de n'importe quel type et peuvent être utilisées pour enregistrer des informations additionnelles sur un élément, comme un identifiant externe.


String get_item_text(idx: int) const 🔗

Renvoie le texte de l'élément à l'index idx.


String get_item_tooltip(idx: int) const 🔗

Renvoie l'infobulle de l'élément à l'index idx.


PopupMenu get_popup() const 🔗

Renvoie le PopupMenu contenu dans ce bouton.

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 la propriété Window.visible.


int get_selectable_item(from_last: bool = false) const 🔗

Renvoie l'index du premier élément qui n'est pas désactivé, ou marqué comme séparateur. Si from_last vaut true, les éléments seront recherchés en ordre inverse.

Renvoie -1 si aucun élément n'est trouvé.


int get_selected_id() const 🔗

Renvoie l'identifiant de l’élément sélectionné, ou -1 si aucun n'est sélectionné.


Variant get_selected_metadata() const 🔗

Obtient les métadonnées de l'élément sélectionné. Les métadonnées peuvent être définies en utilisant set_item_metadata().


bool has_selectable_items() const 🔗

Renvoie true si ce bouton contient au moins un élément qui n'est pas désactivé ou marqué comme séparateur.


bool is_item_disabled(idx: int) const 🔗

Renvoie true si l'élément à l'index idx est désactivé.


bool is_item_separator(idx: int) const 🔗

Renvoie true si l'élément à l'index idx est marqué comme séparateur.


void remove_item(idx: int) 🔗

Retire l'élément à l'index idx.


void select(idx: int) 🔗

Sélectionne un élément par son index et en fait l'élément actuel. Cela fonctionnera même si l'élément est désactivé.

Passer -1 en index désélectionne tout élément actuellement sélectionné.


void set_disable_shortcuts(disabled: bool) 🔗

Si true, les raccourcis sont désactivés et ne peuvent pas être utilisés pour déclencher le bouton.


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

Définit le mode de traduction automatique de l'élément à l'index idx.

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


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

Définit si l'élément à l'index idx est désactivé.

Les éléments désactivés sont dessinés différemment dans le menu déroulant et ne peuvent pas être sélectionnés par l'utilisateur. Si l'élément sélectionné actuel est défini comme désactivé, il restera sélectionné.


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

Définit l'icône pour l'élément à l'index idx.


void set_item_id(idx: int, id: int) 🔗

Définit l'identifiant pour l'élément à l'index idx.


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

Définit les métadonnées d'un élément. Les métadonnées peuvent être de n'importe quel type et peuvent être utilisées pour stocker des informations supplémentaires sur un élément, comme un identifiant de chaîne externe.


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

Définit le texte pour l'élément à l'index idx.


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

Définit l'infobulle pour l'élément à l'index idx.


void show_popup() 🔗

Ajuste la position et la taille de la popup pour l'OptionButton, puis affiche le PopupMenu. Préférez ceci plutôt qu'utiliser get_popup().popup().


Descriptions des propriétés du thème

int arrow_margin = 4 🔗

L'espace horizontal entre l'icône de la flèche et le bord droit du bouton.


int modulate_arrow = 0 🔗

Si différent de 0, l'icône de la flèche sera modulée à la couleur de la police.


Texture2D arrow 🔗

L'icône de la flèche qui est affichée au bord droit du bouton.