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

Eredita: Button < BaseButton < Control < CanvasItem < Node < Object

Un pulsante che, se premuto, apre un menu a tendina con opzioni selezionabili.

Descrizione

OptionButton è un tipo di pulsante che apre un menu a tendina con voci selezionabili quando viene premuto. La voce selezionata diventa la voce "attuale" e viene visualizzata come testo del pulsante.

Vedi anche BaseButton che contiene proprietà e metodi comuni associati a questo nodo.

Nota: Gli ID utilizzati per le voci sono interi a 32 bit, non a 64 bit pieni di int. Questi hanno un intervallo di -2^32 a 2^32 - 1, ovvero, -2147483648 a 2147483647.

Nota: Le proprietà Button.text e Button.icon sono impostate automaticamente in base alla voce selezionata. Non si dovrebbero cambiare manualmente.

Proprietà

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)

Metodi

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

Proprietà del tema

int

arrow_margin

4

int

modulate_arrow

0

Texture2D

arrow


Segnali

item_focused(index: int) 🔗

Emesso quando l'utente passa a una voce utilizzando le azioni di input ProjectSettings.input/ui_up o ProjectSettings.input/ui_down. L'indice della voce selezionata viene passata come argomento.


item_selected(index: int) 🔗

Emesso quando la voce attuale è stata cambiata dall'utente. L'indice della voce selezionata viene passato come argomento.

allow_reselect deve essere abilitato per selezionare la stessa voce nuovamente.


Descrizioni delle proprietà

bool allow_reselect = false 🔗

  • void set_allow_reselect(value: bool)

  • bool get_allow_reselect()

Se true, la voce attualmente selezionata può essere selezionata nuovamente.


bool fit_to_longest_item = true 🔗

  • void set_fit_to_longest_item(value: bool)

  • bool is_fit_to_longest_item()

If true, minimum size will be determined by the longest item's width, instead of the currently selected one's. It will also take the popup's margins into account, making the button match its total width.

Note: For performance reasons, the minimum size doesn't update immediately when adding, removing or modifying items.


int item_count = 0 🔗

  • void set_item_count(value: int)

  • int get_item_count()

Il numero di voci tra cui selezionare.


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

Se true, la voce all'indice index è disabilitata.

Note: index è un valore compreso nell'intervallo 0 .. item_count - 1.


Texture2D popup/item_{index}/icon 🔗

L'icona della voce all'indice index.

Note: index è un valore compreso nell'intervallo 0 .. item_count - 1.


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

L'ID della voce all'indice index.

Note: index è un valore compreso nell'intervallo 0 .. item_count - 1.


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

Se true, la voce all'indice index è un separatore.

Note: index è un valore compreso nell'intervallo 0 .. item_count - 1.


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

Il testo della voce all'indice index.

Note: index è un valore compreso nell'intervallo 0 .. item_count - 1.


bool search_bar_enabled = false 🔗

  • void set_search_bar_enabled(value: bool)

  • bool is_search_bar_enabled()

Se true, mostra una barra di ricerca in cima al PopupMenu per filtrare le voci. Vedi search_bar_min_item_count per controllare dinamicamente la sua visibilità in base al numero di voci.


bool search_bar_fuzzy_search_enabled = true 🔗

  • void set_search_bar_fuzzy_search_enabled(value: bool)

  • bool is_search_bar_fuzzy_search_enabled()

Se true, abilita la ricerca approssimata nella barra di ricerca del PopupMenu. Ciò consente di includere nei risultati di ricerca voci che quasi corrispondono alla query di ricerca, nonché voci che corrispondono ai singoli caratteri della query di ricerca, ma non in sequenza.

Usa search_bar_fuzzy_search_max_misses per impostare il numero massimo di corrispondenze errate consentite nei risultati di ricerca.


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

Imposta il numero massimo di corrispondenze errate consentite in ciascun risultato di ricerca quando la ricerca approssimata è abilitata per la barra di ricerca del PopupMenu. Qualsiasi voce con un numero di corrispondenze errate maggiore sarà nascosto dai risultati di ricerca.


int search_bar_min_item_count = 0 🔗

  • void set_search_bar_min_item_count(value: int)

  • int get_search_bar_min_item_count()

Imposta il numero minimo di voci richieste affinché la barra di ricerca del PopupMenu sia visibile. search_bar_enabled deve essere false affinché questo abbia effetto. Le voci separatori non contano.


int selected = -1 🔗

  • int get_selected()

Indice della voce attualmente selezionata, oppure -1 se nessuna voce è selezionata.


Descrizioni dei metodi

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

Aggiunge una voce, con un'icona texture, testo label e (facoltativamente) id. Se nessun id viene passato, l'indice della voce sarà utilizzato come ID della voce. Le nuove voci vengono aggiunte alla fine.

Nota: La voce verrà selezionata se non ci sono altre voci.


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

Aggiunge una voce, con testo label e (facoltativamente) id. Se nessun id viene passato, l'indice della voce sarà utilizzato come ID della voce. Le nuove voci vengono aggiunte alla fine.

Nota: La voce verrà selezionata se non ci sono altre voci.


void add_separator(text: String = "") 🔗

Aggiunge un separatore all'elenco delle voci. I separatori aiutano a raggruppare le voci e possono essere facoltativamente dotati di un'intestazione text. A un separatore è anche assegnato un indice e viene aggiunto alla fine dell'elenco delle voci.


void clear() 🔗

Cancella tutte le voci nell'OptionButton.


AutoTranslateMode get_item_auto_translate_mode(idx: int) const 🔗

Restituisce la modalità di traduzione automatica della voce all'indice idx.


Texture2D get_item_icon(idx: int) const 🔗

Restituisce l'icona della voce all'indice idx.


int get_item_id(idx: int) const 🔗

Restituisce l'ID della voce all'indice idx.


int get_item_index(id: int) const 🔗

Restituisce l'indice della voce con l'id specificato.


Variant get_item_metadata(idx: int) const 🔗

Recupera i metadati di una voce. I metadati possono essere di qualunque tipo e possono essere utilizzati per memorizzare ulteriori informazioni su una voce, come un ID esterno.


String get_item_text(idx: int) const 🔗

Restituisce il testo della voce all'indice idx.


String get_item_tooltip(idx: int) const 🔗

Restituisce il tooltip della voce all'indice idx.


PopupMenu get_popup() const 🔗

Restituisce il PopupMenu contenuto in questo pulsante.

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


int get_selectable_item(from_last: bool = false) const 🔗

Restituisce l'indice della prima voce che non è disabilitata o contrassegnata come separatore. Se from_last è true, le voci saranno cercate in ordine inverso.

Restituisce -1 se nessuna voce viene trovata.


int get_selected_id() const 🔗

Restituisce l'ID della voce selezionata oppure -1 se nessuna voce è selezionata.


Variant get_selected_metadata() const 🔗

Ottiene i metadati della voce selezionata. I metadati per le voci possono essere impostati tramite set_item_metadata().


bool has_selectable_items() const 🔗

Restituisce true se questo pulsante contiene almeno una voce che non è disabilitata, o contrassegnata come separatore.


bool is_item_disabled(idx: int) const 🔗

Restituisce true se la voce all'indice idx è disabilitata.


bool is_item_separator(idx: int) const 🔗

Restituisce true se la voce all'indice idx è contrassegnata come separatore.


void remove_item(idx: int) 🔗

Rimuove la voce all'indice idx.


void select(idx: int) 🔗

Seleziona una voce per indice e la rende la voce attuale. Funzionerà anche se la voce è disabilitata.

Passando -1 come indice deseleziona qualunque voce attualmente selezionata.


void set_disable_shortcuts(disabled: bool) 🔗

Se true, le scorciatoie sono disabilitate e non possono essere utilizzate per attivare il pulsante.


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

Imposta la modalità di traduzione automatica della voce all'indice idx.

Le voci utilizzano Node.AUTO_TRANSLATE_MODE_INHERIT come predefinito, la quale utilizza la stessa modalità di traduzione automatica dell'OptionButton stesso.


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

Imposta se la voce all'indice idx è disabilitata.

Le voci disabilitate sono disegnate in modo diverso nel menu a tendina e non sono selezionabili dall'utente. Se la voce attualmente selezionata è viene disabilitata, rimarrà comunque selezionata.


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

Imposta l'icona della voce all'indice idx.


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

Imposta l'ID della voce all'indice idx.


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

Imposta i metadati di una voce. I metadati possono essere di qualunque tipo e possono essere utilizzati per memorizzare ulteriori informazioni su una voce, come un ID esterno.


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

Imposta il testo della voce all'indice idx.


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

Imposta il tooltip della voce all'indice idx.


void show_popup() 🔗

Regola la posizione e le dimensioni di popup per OptionButton, poi mostra il PopupMenu. Preferisci usare questo metodo piuttosto che get_popup().popup().


Descrizioni delle proprietà del tema

int arrow_margin = 4 🔗

Lo spazio orizzontale tra l'icona della freccia e il bordo destro del pulsante.


int modulate_arrow = 0 🔗

Se diverso da 0, l'icona della freccia sarà modulata in base al colore del font.


Texture2D arrow 🔗

L'icona della freccia da disegnare all'estremità destra del pulsante.