OptionButton

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

Un botón que muestra un menú desplegable con opciones seleccionables cuando se pulsa.

Descripción

OptionButton es un tipo de botón que muestra un menú desplegable con ítems seleccionables cuando se pulsa. El ítem seleccionado se convierte en el ítem "actual" y se muestra como el texto del botón.

Véase también BaseButton que contiene propiedades y métodos comunes asociados a este nodo.

Nota: Los ID utilizados para los ítems están limitados a enteros de 32 bits con signo, no a los 64 bits completos de int. Estos tienen un rango de -2^31 a 2^31 - 1, es decir, -2147483648 a 2147483647.

Nota: Las propiedades Button.text y Button.icon se establecen automáticamente en función del ítem seleccionado. No deben modificarse manualmente.

Propiedades

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

int

selected

-1

bool

toggle_mode

true (overrides BaseButton)

Métodos

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

Propiedades del Tema

int

arrow_margin

4

int

modulate_arrow

0

Texture2D

arrow


Señales

item_focused(index: int) 🔗

Emitida cuando el usuario navega a un elemento utilizando las acciones de entrada ProjectSettings.input/ui_up o ProjectSettings.input/ui_down. El índice del elemento seleccionado se pasa como argumento.


item_selected(index: int) 🔗

Emitida cuando el elemento actual ha sido cambiado por el usuario. El índice del elemento seleccionado se pasa como argumento.

allow_reselect debe estar activado para volver a seleccionar un elemento.


Descripciones de Propiedades

bool allow_reselect = false 🔗

  • void set_allow_reselect(value: bool)

  • bool get_allow_reselect()

Si es true, el elemento actualmente seleccionado puede ser seleccionado de nuevo.


bool fit_to_longest_item = true 🔗

  • void set_fit_to_longest_item(value: bool)

  • bool is_fit_to_longest_item()

Si es true, el tamaño mínimo se determinará por el texto del elemento más largo, en lugar del elemento seleccionado actualmente.

Nota: Por razones de rendimiento, el tamaño mínimo no se actualiza inmediatamente al añadir, eliminar o modificar elementos.


int item_count = 0 🔗

  • void set_item_count(value: int)

  • int get_item_count()

El número de elementos para seleccionar.


int selected = -1 🔗

  • int get_selected()

El índice del artículo actualmente seleccionado, o -1 si no hay ningún artículo seleccionado.


Descripciones de Métodos

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

Añade un ítem, con un icono texture, texto label y (opcionalmente) id. Si no se pasa id, el índice del ítem se usará como ID del mismo. Los nuevos ítems se añaden al final.

Nota: El ítem se seleccionará si no hay otros ítems.


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

Añade un ítem, con texto label y (opcionalmente) id. Si no se pasa id, el índice del ítem se usará como ID del mismo. Los nuevos ítems se añaden al final.

Nota: El ítem se seleccionará si no hay otros ítems.


void add_separator(text: String = "") 🔗

Añade un separador a la lista de ítems. Los separadores ayudan a agrupar los ítems y, opcionalmente, se les puede dar una cabecera text. A un separador también se le asigna un índice, y se añade al final de la lista de ítems.


void clear() 🔗

Borra todos los elementos del OptionButton.


AutoTranslateMode get_item_auto_translate_mode(idx: int) const 🔗

Devuelve el modo de traducción automática del ítem en el índice idx.


Texture2D get_item_icon(idx: int) const 🔗

Devuelve el icono del ítem en el índice idx.


int get_item_id(idx: int) const 🔗

Devuelve el ID del ítem en el índice idx.


int get_item_index(id: int) const 🔗

Devuelve el índice del ítem con el id dado.


Variant get_item_metadata(idx: int) const 🔗

Recupera los metadatos de un elemento. Los metadatos pueden ser de cualquier tipo y pueden utilizarse para almacenar información adicional sobre un elemento, como un ID de string externa.


String get_item_text(idx: int) const 🔗

Devuelve el texto del ítem en el índice idx.


String get_item_tooltip(idx: int) const 🔗

Devuelve el tooltip del ítem en el índice idx.


PopupMenu get_popup() const 🔗

Devuelve el PopupMenu contenido en este botón.

Advertencia: Este es un nodo interno requerido, eliminarlo y liberarlo puede causar un fallo. Si deseas ocultarlo o alguno de sus hijos, usa su propiedad Window.visible.


int get_selectable_item(from_last: bool = false) const 🔗

Devuelve el índice del primer ítem que no está desactivado o marcado como un separador. Si from_last es true, los ítems se buscarán en orden inverso.

Devuelve -1 si no se encuentra ningún ítem.


int get_selected_id() const 🔗

Devuelve el ID del ítem seleccionado, o -1 si no hay ningún ítem seleccionado.


Variant get_selected_metadata() const 🔗

Obtiene los metadatos del elemento seleccionado. Los metadatos de los elementos pueden establecerse utilizando set_item_metadata().


bool has_selectable_items() const 🔗

Devuelve true si este botón contiene al menos un ítem que no está desactivado o marcado como un separador.


bool is_item_disabled(idx: int) const 🔗

Devuelve true si el ítem en el índice idx está desactivado.


bool is_item_separator(idx: int) const 🔗

Devuelve true si el ítem en el índice idx está marcado como un separador.


void remove_item(idx: int) 🔗

Elimina el ítem en el índice idx.


void select(idx: int) 🔗

Selecciona un ítem por índice y lo convierte en el ítem actual. Esto funcionará incluso si el ítem está desactivado.

Pasar -1 como índice deselecciona cualquier ítem actualmente seleccionado.


void set_disable_shortcuts(disabled: bool) 🔗

Si es true, los atajos están desactivados y no se pueden utilizar para activar el botón.


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

Establece el modo de traducción automática del ítem en el índice idx.

Los ítems usan Node.AUTO_TRANSLATE_MODE_INHERIT por defecto, que usa el mismo modo de traducción automática que el propio OptionButton.


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

Establece si el ítem en el índice idx está desactivado.

Los ítems desactivados se dibujan de forma diferente en el desplegable y no son seleccionables por el usuario. Si el ítem seleccionado actual se establece como desactivado, permanecerá seleccionado.


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

Establece el icono del elemento en el índice idx.


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

Establece el ID del elemento en el índice idx.


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

Establece los metadatos de un elemento. Los metadatos pueden ser de cualquier tipo y pueden utilizarse para almacenar información adicional sobre un elemento, como una string externa con un ID.


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

Establece el texto del elemento en el índice idx.


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

Establece el tooltip del elemento en el índice idx.


void show_popup() 🔗

Ajusta la posición y el tamaño del popup para el OptionButton y, a continuación, muestra el PopupMenu. Es preferible utilizar esto en lugar de get_popup().popup().


Descripciones de las propiedades del tema

int arrow_margin = 4 🔗

El espacio horizontal entre el icono de la flecha y el borde derecho del botón.


int modulate_arrow = 0 🔗

Si es diferente a 0, el icono de flecha se modulará al color de la fuente.


Texture2D arrow 🔗

El icono de la flecha que se dibujará en el extremo derecho del botón.