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.

PopupMenu

Eredita: Popup < Window < Viewport < Node < Object

Una finestra modale utilizzata per visualizzare un elenco di opzioni.

Descrizione

PopupMenu è una finestra modale utilizzata per visualizzare un elenco di opzioni. Utile per barre degli strumenti e menu contestuali.

Le dimensioni di un PopupMenu si possono limitare tramite Window.max_size. Se l'altezza dell'elenco di elementi è maggiore dell'altezza massima del PopupMenu, uno ScrollContainer all'interno del popup consentirà all'utente di scorrere il contenuto. Se nessuna dimensione massima è impostata o se è impostata su 0, l'altezza del PopupMenu sarà limitata dal rettangolo del suo genitore.

Tutti i metodi set_* consentono indici di elementi negativi, ovvero -1 per accedere all'ultimo elemento, -2 per selezionare il penultimo elemento e così via.

Ricerca incrementale: Come ItemList e Tree, PopupMenu 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. Dopodiché, 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 saranno ripristinate all'inizio dell'elenco se è trascorsa la durata del timeout dall'ultima pressione di un tasto. Puoi regolare la durata del timeout modificando ProjectSettings.gui/timers/incremental_search_max_interval_msec.

Nota: PopupMenu è inizialmente invisibile. Per renderlo visibile, chiama uno dei metodi popup_* da Window sul nodo, come ad esempio Window.popup_centered_clamped().

Nota: I valori degli ID utilizzati per gli elementi sono limitati a 32 bit, non a 64 bit pieni di int. Ciò ha un intervallo di -2^32 a 2^32 - 1, ovvero -2147483648 a 2147483647.

Proprietà

bool

allow_search

true

DefaultCanvasItemTextureFilter

canvas_item_default_texture_filter

4 (overrides Viewport)

DefaultCanvasItemTextureRepeat

canvas_item_default_texture_repeat

3 (overrides Viewport)

bool

hide_on_checkable_item_selection

true

bool

hide_on_item_selection

true

bool

hide_on_state_item_selection

false

int

item_count

0

int

item_{index}/checkable

0

bool

item_{index}/checked

false

bool

item_{index}/disabled

false

Texture2D

item_{index}/icon

int

item_{index}/id

0

bool

item_{index}/separator

false

String

item_{index}/text

""

bool

prefer_native_menu

false

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

bool

shrink_height

true

bool

shrink_width

true

float

submenu_popup_delay

0.2

SystemMenus

system_menu_id

0

bool

transparent

true (overrides Window)

bool

transparent_bg

true (overrides Viewport)

Metodi

bool

activate_item_by_event(event: InputEvent, for_global_only: bool = false)

void

add_check_item(label: String, id: int = -1, accel: Key = 0)

void

add_check_shortcut(shortcut: Shortcut, id: int = -1, global: bool = false)

void

add_icon_check_item(texture: Texture2D, label: String, id: int = -1, accel: Key = 0)

void

add_icon_check_shortcut(texture: Texture2D, shortcut: Shortcut, id: int = -1, global: bool = false)

void

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

void

add_icon_radio_check_item(texture: Texture2D, label: String, id: int = -1, accel: Key = 0)

void

add_icon_radio_check_shortcut(texture: Texture2D, shortcut: Shortcut, id: int = -1, global: bool = false)

void

add_icon_shortcut(texture: Texture2D, shortcut: Shortcut, id: int = -1, global: bool = false, allow_echo: bool = false)

void

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

void

add_multistate_item(label: String, max_states: int, default_state: int = 0, id: int = -1, accel: Key = 0)

void

add_radio_check_item(label: String, id: int = -1, accel: Key = 0)

void

add_radio_check_shortcut(shortcut: Shortcut, id: int = -1, global: bool = false)

void

add_separator(label: String = "", id: int = -1)

void

add_shortcut(shortcut: Shortcut, id: int = -1, global: bool = false, allow_echo: bool = false)

void

add_submenu_item(label: String, submenu: String, id: int = -1)

void

add_submenu_node_item(label: String, submenu: PopupMenu, id: int = -1)

void

clear(free_submenus: bool = false)

int

get_focused_item() const

Key

get_item_accelerator(index: int) const

AutoTranslateMode

get_item_auto_translate_mode(index: int) const

Texture2D

get_item_icon(index: int) const

int

get_item_icon_max_width(index: int) const

Color

get_item_icon_modulate(index: int) const

int

get_item_id(index: int) const

int

get_item_indent(index: int) const

int

get_item_index(id: int) const

String

get_item_language(index: int) const

Variant

get_item_metadata(index: int) const

int

get_item_multistate(index: int) const

int

get_item_multistate_max(index: int) const

Shortcut

get_item_shortcut(index: int) const

String

get_item_submenu(index: int) const

PopupMenu

get_item_submenu_node(index: int) const

String

get_item_text(index: int) const

TextDirection

get_item_text_direction(index: int) const

String

get_item_tooltip(index: int) const

bool

is_item_checkable(index: int) const

bool

is_item_checked(index: int) const

bool

is_item_disabled(index: int) const

bool

is_item_radio_checkable(index: int) const

bool

is_item_separator(index: int) const

bool

is_item_shortcut_disabled(index: int) const

bool

is_native_menu() const

bool

is_system_menu() const

void

remove_item(index: int)

void

scroll_to_item(index: int)

void

set_focused_item(index: int)

void

set_item_accelerator(index: int, accel: Key)

void

set_item_as_checkable(index: int, enable: bool)

void

set_item_as_radio_checkable(index: int, enable: bool)

void

set_item_as_separator(index: int, enable: bool)

void

set_item_auto_translate_mode(index: int, mode: AutoTranslateMode)

void

set_item_checked(index: int, checked: bool)

void

set_item_disabled(index: int, disabled: bool)

void

set_item_icon(index: int, icon: Texture2D)

void

set_item_icon_max_width(index: int, width: int)

void

set_item_icon_modulate(index: int, modulate: Color)

void

set_item_id(index: int, id: int)

void

set_item_indent(index: int, indent: int)

void

set_item_index(index: int, target_index: int)

void

set_item_language(index: int, language: String)

void

set_item_metadata(index: int, metadata: Variant)

void

set_item_multistate(index: int, state: int)

void

set_item_multistate_max(index: int, max_states: int)

void

set_item_shortcut(index: int, shortcut: Shortcut, global: bool = false)

void

set_item_shortcut_disabled(index: int, disabled: bool)

void

set_item_submenu(index: int, submenu: String)

void

set_item_submenu_node(index: int, submenu: PopupMenu)

void

set_item_text(index: int, text: String)

void

set_item_text_direction(index: int, direction: TextDirection)

void

set_item_tooltip(index: int, tooltip: String)

void

toggle_item_checked(index: int)

void

toggle_item_multistate(index: int)

Proprietà del tema

Color

font_accelerator_color

Color(0.7, 0.7, 0.7, 0.8)

Color

font_color

Color(0.875, 0.875, 0.875, 1)

Color

font_disabled_color

Color(0.4, 0.4, 0.4, 0.8)

Color

font_hover_color

Color(0.875, 0.875, 0.875, 1)

Color

font_outline_color

Color(0, 0, 0, 1)

Color

font_separator_color

Color(0.875, 0.875, 0.875, 1)

Color

font_separator_outline_color

Color(0, 0, 0, 1)

int

gutter_compact

1

int

h_separation

4

int

icon_max_width

0

int

indent

10

int

item_end_padding

2

int

item_start_padding

2

int

outline_size

0

int

search_bar_separation

4

int

separator_outline_size

0

int

v_separation

4

Font

font

Font

font_separator

int

font_separator_size

int

font_size

Texture2D

checked

Texture2D

checked_disabled

Texture2D

radio_checked

Texture2D

radio_checked_disabled

Texture2D

radio_unchecked

Texture2D

radio_unchecked_disabled

Texture2D

search

Texture2D

submenu

Texture2D

submenu_mirrored

Texture2D

unchecked

Texture2D

unchecked_disabled

StyleBox

hover

StyleBox

labeled_separator_left

StyleBox

labeled_separator_right

StyleBox

panel

StyleBox

separator


Segnali

id_focused(id: int) 🔗

Emesso quando l'utente naviga verso un elemento con un certo id utilizzando l'azione di input ProjectSettings.input/ui_up o ProjectSettings.input/ui_down.


id_pressed(id: int) 🔗

Emitted when an item of some id is pressed. Also emitted when its accelerator is activated on macOS.

Note: If id is negative (either explicitly or due to overflow), this will return the corresponding index instead.


index_pressed(index: int) 🔗

Emitted when an item of some index is pressed. Also emitted when its accelerator is activated on macOS.


menu_changed() 🔗

Emesso quando un elemento viene aggiunto, modificato o rimosso.


Descrizioni delle proprietà

  • void set_allow_search(value: bool)

  • bool get_allow_search()

Se true, consente di navigare il PopupMenu con i tasti delle lettere.


bool hide_on_checkable_item_selection = true 🔗

  • void set_hide_on_checkable_item_selection(value: bool)

  • bool is_hide_on_checkable_item_selection()

Se true, nasconde il PopupMenu quando viene selezionata una casella di spunta o un pulsante di scelta (radio).


bool hide_on_item_selection = true 🔗

  • void set_hide_on_item_selection(value: bool)

  • bool is_hide_on_item_selection()

Se true, nasconde il PopupMenu quando viene selezionato un elemento.


bool hide_on_state_item_selection = false 🔗

  • void set_hide_on_state_item_selection(value: bool)

  • bool is_hide_on_state_item_selection()

Se true, nasconde il PopupMenu quando viene selezionato un elemento di stato.


int item_count = 0 🔗

  • void set_item_count(value: int)

  • int get_item_count()

Il numero di elementi attualmente nell'elenco.


int item_{index}/checkable = 0 🔗

The checkable item type of the item at index.

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


bool item_{index}/checked = false 🔗

Se true, l'elemento all'indice index è spuntato.

Note: index è un valore compreso tra 0 .. item_count - 1.


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.


int item_{index}/id = 0 🔗

The ID of the item at index.

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


bool 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 item_{index}/text = "" 🔗

The text of the item at index.

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


bool prefer_native_menu = false 🔗

  • void set_prefer_native_menu(value: bool)

  • bool is_prefer_native_menu()

Se true, il MenuBar utilizzerà il menu nativo quando supportato.

Nota: Se il PopupMenu è collegato a uno StatusIndicator, il MenuBar o un altro elemento PopupMenu può utilizzare il menu nativo a prescindere da questa proprietà, usa is_native_menu() per verificarlo.


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.

Note: When enabled, allow_search is ignored.


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 search bar to be visible. search_bar_enabled must be true for this to have any effect. Separator items are not counted.


bool shrink_height = true 🔗

  • void set_shrink_height(value: bool)

  • bool get_shrink_height()

If true, shrinks PopupMenu to minimum height when it's shown.


bool shrink_width = true 🔗

  • void set_shrink_width(value: bool)

  • bool get_shrink_width()

If true, shrinks PopupMenu to minimum width when it's shown.


float submenu_popup_delay = 0.2 🔗

  • void set_submenu_popup_delay(value: float)

  • float get_submenu_popup_delay()

Sets the delay time in seconds for the submenu item to popup on mouse hovering. If the popup menu is added as a child of another (acting as a submenu), it will inherit the delay time of the parent menu item.

Note: If the mouse is exiting a submenu item with an open submenu and enters a different submenu item, the submenu popup delay time is affected by the direction of the mouse movement toward the open submenu. If the mouse is moving toward the submenu, the open submenu will wait approximately 0.5 seconds before closing, which then allows the hovered submenu item to open. This additional delay allows the mouse time to move to the open submenu across other menu items without prematurely closing. If the mouse is not moving toward the open submenu, for example in a downward direction, the open submenu will close immediately.


SystemMenus system_menu_id = 0 🔗

Se impostato su uno dei valori di SystemMenus, questo PopupMenu è associato al menu speciale di sistema. È possibile associare un solo PopupMenu alla volta a ciascun menu speciale.


Descrizioni dei metodi

bool activate_item_by_event(event: InputEvent, for_global_only: bool = false) 🔗

Controlla l'evento event fornito rispetto alle scorciatoie e agli acceleratori del PopupMenu e attiva il primo elemento con gli eventi corrispondenti. Se for_global_only è true, saranno chiamati solo le scorciatoie e gli acceleratori con global impostato su true.

Restituisce true se un elemento è stato attivato correttamente.

Nota: Alcuni Control, come MenuButton, chiameranno questo metodo automaticamente.


void add_check_item(label: String, id: int = -1, accel: Key = 0) 🔗

Aggiunge un nuovo elemento spuntabile con il testo label.

È possibile fornire un id facoltativamente, così come un acceleratore (accel). Se nessun id è fornito, ne sarà creato uno dall'indice. Se nessun accel è fornito, all'elemento sarà assegnato il valore predefinito 0 (corrispondente a @GlobalScope.KEY_NONE) (il che significa che non avrà alcun acceleratore). Consulta get_item_accelerator() per ulteriori informazioni sugli acceleratori.

Nota: Gli elementi spuntabili mostrano solo un segno di spunta, ma non hanno alcun comportamento di spunta incorporato e devono essere selezionati e deselezionati manualmente. Consulta set_item_checked() per ulteriori informazioni su come controllarli.


void add_check_shortcut(shortcut: Shortcut, id: int = -1, global: bool = false) 🔗

Aggiunge un nuovo elemento spuntabile e gli assegna la scorciatoia (Shortcut) specificata. Imposta l'etichetta della casella di spunta sul nome del Shortcut.

È possibile fornire un id facoltativamente. Se nessun id è fornito, ne sarà creato uno dall'indice.

Nota: Gli elementi spuntabili mostrano solo un segno di spunta, ma non hanno alcun comportamento di spunta incorporato e devono essere selezionati e deselezionati manualmente. Consulta set_item_checked() per ulteriori informazioni su come controllarli.


void add_icon_check_item(texture: Texture2D, label: String, id: int = -1, accel: Key = 0) 🔗

Aggiunge un nuovo elemento spuntabile con il testo label e l'icona texture.

È possibile fornire un id facoltativamente, così come un acceleratore (accel). Se nessun id è fornito, ne sarà creato uno dall'indice. Se nessun accel è fornito, all'elemento sarà assegnato il valore predefinito 0 (corrispondente a @GlobalScope.KEY_NONE) (il che significa che non avrà alcun acceleratore). Consulta get_item_accelerator() per ulteriori informazioni sugli acceleratori.

Nota: Gli elementi spuntabili mostrano solo un segno di spunta, ma non hanno alcun comportamento di spunta incorporato e devono essere selezionati e deselezionati manualmente. Consulta set_item_checked() per ulteriori informazioni su come controllarli.


void add_icon_check_shortcut(texture: Texture2D, shortcut: Shortcut, id: int = -1, global: bool = false) 🔗

Aggiunge un nuovo elemento spuntabile e gli assegna la scorciatoia (Shortcut) e l'icona texture specificate. Imposta l'etichetta della casella di spunta sul nome del Shortcut.

È possibile fornire un id facoltativamente. Se nessun id è fornito, ne sarà creato uno dall'indice.

Nota: Gli elementi spuntabili mostrano solo un segno di spunta, ma non hanno alcun comportamento di spunta incorporato e devono essere selezionati e deselezionati manualmente. Consulta set_item_checked() per ulteriori informazioni su come controllarli.


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

Aggiunge un nuovo elemento con il testo label e l'icona texture.

È possibile fornire un id facoltativamente, così come un acceleratore (accel). Se nessun id è fornito, ne sarà creato uno dall'indice. Se nessun accel è fornito, all'elemento sarà assegnato il valore predefinito 0 (corrispondente a @GlobalScope.KEY_NONE) (il che significa che non avrà alcun acceleratore). Consulta get_item_accelerator() per ulteriori informazioni sugli acceleratori.


void add_icon_radio_check_item(texture: Texture2D, label: String, id: int = -1, accel: Key = 0) 🔗

Uguale a add_icon_check_item(), ma utilizza un pulsante di controllo radio.


void add_icon_radio_check_shortcut(texture: Texture2D, shortcut: Shortcut, id: int = -1, global: bool = false) 🔗

Uguale a add_icon_check_shortcut(), ma utilizza un pulsante di controllo radio.


void add_icon_shortcut(texture: Texture2D, shortcut: Shortcut, id: int = -1, global: bool = false, allow_echo: bool = false) 🔗

Aggiunge un nuovo elemento e gli assegna la scorciatoia (Shortcut) e l'icona texture specificate. Imposta l'etichetta della casella di spunta sul nome del Shortcut.

È possibile fornire un id facoltativamente. Se nessun id è fornito, ne sarà creato uno dall'indice.

Se allow_echo è true, la scorciatoia può essere attivata con eventi eco.


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

Aggiunge un nuovo elemento con il testo label.

È possibile fornire un id facoltativamente, così come un acceleratore (accel). Se nessun id è fornito, ne sarà creato uno dall'indice. Se nessun accel è fornito, all'elemento sarà assegnato il valore predefinito 0 (corrispondente a @GlobalScope.KEY_NONE) (il che significa che non avrà alcun acceleratore). Consulta get_item_accelerator() per ulteriori informazioni sugli acceleratori.

Nota: Il id fornito è utilizzato solo nei segnali id_pressed e id_focused. Non è correlato agli argomenti index ad esempio in set_item_checked().


void add_multistate_item(label: String, max_states: int, default_state: int = 0, id: int = -1, accel: Key = 0) 🔗

Aggiunge una nuova voce multistato con il testo label.

Contrariamente alle voci binarie normali, le voci multistato possono avere più di due stati, come definito da max_states. Il valore predefinito è definito da default_state.

È possibile fornire un id facoltativamente, così come un acceleratore (accel). Se nessun id è fornito, ne sarà creato uno dall'indice. Se nessun accel è fornito, alla voce sarà assegnata il valore predefinito 0 (corrispondente a @GlobalScope.KEY_NONE) (il che significa che non avrà alcun acceleratore). Consulta get_item_accelerator() per ulteriori informazioni sugli acceleratori.

func _ready():
    add_multistate_item("Item", 3, 0)

    index_pressed.connect(func(index: int):
            toggle_item_multistate(index)
            match get_item_multistate(index):
                0:
                    print("Primo stato")
                1:
                    print("Secondo stato")
                2:
                    print("Terzo stato")
        )

Nota: Le voci multistato non aggiornano automaticamente il loro stato e bisogna farlo manualmente. Consulta toggle_item_multistate(), set_item_multistate() e get_item_multistate() per ulteriori informazioni su come controllarli.


void add_radio_check_item(label: String, id: int = -1, accel: Key = 0) 🔗

Aggiunge un nuovo pulsante di controllo radio con il testo label.

È possibile fornire un id facoltativamente, così come un acceleratore (accel). Se nessun id è fornito, ne sarà creato uno dall'indice. Se nessun accel è fornito, all'elemento sarà assegnato il valore predefinito 0 (corrispondente a @GlobalScope.KEY_NONE) (il che significa che non avrà alcun acceleratore). Consulta get_item_accelerator() per ulteriori informazioni sugli acceleratori.

Nota: Gli elementi spuntabili mostrano solo un segno di spunta, ma non hanno alcun comportamento di spunta incorporato e devono essere selezionati e deselezionati manualmente. Consulta set_item_checked() per ulteriori informazioni su come controllarli.


void add_radio_check_shortcut(shortcut: Shortcut, id: int = -1, global: bool = false) 🔗

Aggiunge un nuovo pulsante di controllo radio e gli assegna la scorciatoia (Shortcut) specificata. Imposta l'etichetta della casella di spunta sul nome del Shortcut.

È possibile fornire un id facoltativamente. Se nessun id è fornito, ne sarà creato uno dall'indice.

Nota: Gli elementi spuntabili mostrano solo un segno di spunta, ma non hanno alcun comportamento di spunta incorporato e devono essere selezionati e deselezionati manualmente. Consulta set_item_checked() per ulteriori informazioni su come controllarli.


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

Aggiunge un separatore tra gli elementi. Anche i separatori occupano un indice, che è possibile impostare usando il parametro id.

È possibile fornire facoltativamente un label, che apparirà al centro del separatore.


void add_shortcut(shortcut: Shortcut, id: int = -1, global: bool = false, allow_echo: bool = false) 🔗

Aggiunge una scorciatoia (Shortcut).

È possibile fornire un id facoltativamente. Se nessun id è fornito, ne sarà creato uno dall'indice.

Se allow_echo è true, la scorciatoia può essere attivata con eventi eco.


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

Deprecato: Prefer using add_submenu_node_item() instead.

Aggiunge un elemento che fungerà da sottomenu del nodo PopupMenu genitore quando cliccato. L'argomento submenu deve essere il nome di un PopupMenu esistente che è stato aggiunto come figlio a questo nodo. Questo sottomenu sarà mostrato quando l'elemento viene cliccato, ci si passa sopra con il mouse per un tempo lungo abbastanza o viene attivato usando le azioni di input ui_select o ui_right.

È possibile fornire un id facoltativamente. Se nessun id è fornito, ne sarà creato uno dall'indice.


void add_submenu_node_item(label: String, submenu: PopupMenu, id: int = -1) 🔗

Aggiunge un elemento che fungerà da sottomenu del nodo PopupMenu genitore quando cliccato. Questo sottomenu sarà mostrato quando l'elemento viene cliccato, ci si passa sopra per un tempo lungo abbastanza o viene attivato usando le azioni di input ui_select o ui_right.

submenu deve essere figlio di questo PopupMenu o non avere alcun nodo genitore (nel qual caso sarà aggiunto automaticamente come figlio). Se il popup submenu ha un altro genitore, questo metodo fallirà.

È possibile fornire un id facoltativamente. Se nessun id è fornito, ne sarà creato uno dall'indice.


void clear(free_submenus: bool = false) 🔗

Rimuove tutti gli elementi dal PopupMenu. Se free_submenus è true, i nodi del sottomenu sono liberati automaticamente.


int get_focused_item() const 🔗

Restituisce l'indice dell'elemento attualmente focalizzato. Restituisce -1 se nessun elemento è focalizzato.


Key get_item_accelerator(index: int) const 🔗

Restituisce l'acceleratore dell'elemento all'indice index. Un acceleratore è una scorciatoia da tastiera che può essere premuta per attivare il pulsante del menu anche se non è attualmente aperto. Il valore restituito è un intero che generalmente è una combinazione delle costanti di KeyModifierMask e di Key utilizzando l'operatore OR bit a bit, come KEY_MASK_CTRL | KEY_A (Ctrl + A). Se nessun acceleratore è definito per l'indice index, get_item_accelerator() restituisce 0 (corrispondente a @GlobalScope.KEY_NONE).


AutoTranslateMode get_item_auto_translate_mode(index: int) const 🔗

Restituisce la modalità di traduzione automatica dell'elemento all'indice index.


Texture2D get_item_icon(index: int) const 🔗

Restituisce l'icona dell'elemento all'indice index.


int get_item_icon_max_width(index: int) const 🔗

Restituisce la larghezza massima consentita dell'icona per l'elemento all'indice index.


Color get_item_icon_modulate(index: int) const 🔗

Restituisce il colore che modula l'icona dell'elemento all'indice index.


int get_item_id(index: int) const 🔗

Returns the ID of the item at the given index.


int get_item_indent(index: int) const 🔗

Restituisce l'offset orizzontale dell'elemento all'indice index.


int get_item_index(id: int) const 🔗

Returns the index of the item containing the specified id. The index is automatically assigned to each item by the engine when added and represents the order items will be displayed.


String get_item_language(index: int) const 🔗

Restituisce il codice di lingua di testo dell'elemento.


Variant get_item_metadata(index: int) const 🔗

Restituisce i metadati dell'elemento specificato, che potrebbero essere di qualsiasi tipo. È possibile impostarli con set_item_metadata(), il quale fornisce un modo semplice per assegnare dati di contesto agli elementi.


int get_item_multistate(index: int) const 🔗

Restituisce lo stato dell'elemento all'indice index.


int get_item_multistate_max(index: int) const 🔗

Restituisce gli stati massimi dell'elemento all'indice index.


Shortcut get_item_shortcut(index: int) const 🔗

Restituisce la Shortcut associata con l'elemento all'indice index.


String get_item_submenu(index: int) const 🔗

Deprecato: Prefer using get_item_submenu_node() instead.

Restituisce il nome del sottomenu dell'elemento all'indice index. Consulta add_submenu_item() Per ulteriori informazioni su come aggiungere un sottomenu.


PopupMenu get_item_submenu_node(index: int) const 🔗

Restituisce il sottomenù della voce all'indice index, o null se non è stato aggiunto alcun sottomenù. Consulta add_submenu_node_item() per ulteriori informazioni su come aggiungere un sottomenu.


String get_item_text(index: int) const 🔗

Restituisce il testo dell'elemento all'indice index.


TextDirection get_item_text_direction(index: int) const 🔗

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


String get_item_tooltip(index: int) const 🔗

Restituisce il tooltip associato all'elemento all'indice index.


bool is_item_checkable(index: int) const 🔗

Restituisce true se l'elemento all'indice index è spuntabile in qualche modo, ad esempio se ha una casella di spunta o un pulsante di scelta (radio).

Nota: Gli elementi spuntabili mostrano solo un segno di spunta o un pulsante di scelta, ma non hanno alcun comportamento di controllo incorporato e devono essere selezionati e deselezionati manualmente.


bool is_item_checked(index: int) const 🔗

Restituisce true se l'elemento all'indice index è spuntato.


bool is_item_disabled(index: int) const 🔗

Restituisce true se l'elemento all'indice index è disabilitato. Quando è disabilitato non può essere selezionato, e la sua azione non può essere invocata.

Consulta set_item_disabled() per ulteriori informazioni su come disabilitare un elemento.


bool is_item_radio_checkable(index: int) const 🔗

Restituisce true se l'elemento all'indice index ha può essere spuntato come un pulsante di scelta (radio).

Nota: Questo è puramente estetico; devi aggiungere la logica per selezionare e deselezionare gli elementi nei gruppi di opzioni radio.


bool is_item_separator(index: int) const 🔗

Restituisce true se l'elemento è un separatore. In tal caso, sarà visualizzato come una linea. Consulta add_separator() per ulteriori informazioni su come aggiungere un separatore.


bool is_item_shortcut_disabled(index: int) const 🔗

Restituisce true se la scorciatoia dell'elemento specificato è disabilitata.


bool is_native_menu() const 🔗

Restituisce true, se il menu nativo del sistema è supportato e utilizzato da questo PopupMenu.


bool is_system_menu() const 🔗

Restituisce true se il menu è legato al menu speciale del sistema.


void remove_item(index: int) 🔗

Rimuove l'elemento all'indice index dal menu.

Nota: Gli indici degli elementi dopo l'elemento rimosso saranno spostati di uno.


void scroll_to_item(index: int) 🔗

Sposta la vista scorrevole per rendere visibile l'elemento all'indice index.


void set_focused_item(index: int) 🔗

Imposta l'attuale elemento focalizzato come il dato index.

Passando -1 come indice fa in modo che nessun elemento venga focalizzato.


void set_item_accelerator(index: int, accel: Key) 🔗

Imposta l'acceleratore dell'elemento all'indice index. Un acceleratore è una scorciatoia da tastiera che può essere premuta per attivare il pulsante del menu anche se non è attualmente aperto. Il valore restituito è un intero che generalmente è una combinazione delle costanti di KeyModifierMask e di Key utilizzando l'operatore OR bit a bit, come KEY_MASK_CTRL | KEY_A (Ctrl + A).


void set_item_as_checkable(index: int, enable: bool) 🔗

Imposta se l'elemento all'indice index ha una casella di spunta. Se false, imposta il tipo dell'elemento su testo semplice.

Nota: gli elementi spuntabili mostrano solo un segno di spunta, ma non hanno alcun comportamento di controllo incorporato e devono essere selezionati e deselezionati manualmente.


void set_item_as_radio_checkable(index: int, enable: bool) 🔗

Imposta il tipo dell'elemento all'indice index su pulsante di scelta. Se false, imposta il tipo dell'elemento su testo semplice.


void set_item_as_separator(index: int, enable: bool) 🔗

Contrassegna l'elemento all'indice index come separatore, il che significa che sarà visualizzato come una linea. Se false, imposta il tipo dell'elemento su testo semplice.


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

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

Gli elementi utilizzano Node.AUTO_TRANSLATE_MODE_INHERIT come predefinito, il quale utilizza la stessa modalità di traduzione automatica del PopupMenu.


void set_item_checked(index: int, checked: bool) 🔗

Imposta lo stato di spunta dell'elemento all'indice index.


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

Abilita o disabilita l'elemento all'indice index. Quando è disabilitato, non può essere selezionato e la sua azione non può essere invocata.


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

Sostituisce l'icona Texture2D dell'elemento all'indice index.


void set_item_icon_max_width(index: int, width: int) 🔗

Imposta la larghezza massima consentita dell'icona per l'elemento all'indice index. Questo limite viene applicato al di sopra della dimensione predefinita dell'icona e sopra a icon_max_width. L'altezza è regolata in base al rapporto dell'icona.


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

Imposta una modulazione di colore dell'icona dell'elemento all'indice index.


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

Imposta l'id dell'elemento all'indice index.

L'id è utilizzato nei segnali id_pressed e id_focused.


void set_item_indent(index: int, indent: int) 🔗

Imposta l'offset orizzontale dell'elemento all'indice index.


void set_item_index(index: int, target_index: int) 🔗

Changes the index of the item at index index to be at index target_index. This can be used to move an item above other items. The moved item will keep the same ID, even if it was generated from the original index.

Note: The indices of any items between index index and index target_index will be shifted by one.


void set_item_language(index: 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(index: int, metadata: Variant) 🔗

Imposta i metadati di un elemento, che possono essere di qualsiasi tipo. Puoi ottenerli in seguito con get_item_metadata(), che fornisce un modo semplice per assegnare dati di contesto agli elementi.


void set_item_multistate(index: int, state: int) 🔗

Imposta lo stato di un elemento multistato. Vedi add_multistate_item() per i dettagli.


void set_item_multistate_max(index: int, max_states: int) 🔗

Imposta gli stati massimi di un elemento multistato. Vedi add_multistate_item() per i dettagli.


void set_item_shortcut(index: int, shortcut: Shortcut, global: bool = false) 🔗

Imposta una scorciatoia (Shortcut) per l'elemento all'indice index.


void set_item_shortcut_disabled(index: int, disabled: bool) 🔗

Disabilita la scorciatoia (Shortcut) dell'elemento all'indice index.


void set_item_submenu(index: int, submenu: String) 🔗

Deprecato: Prefer using set_item_submenu_node() instead.

Imposta il sottomenu dell'elemento all'indice index. Il sottomenu è il nome di un nodo PopupMenu figlio che verrebbe mostrato quando si clicca sull'elemento.


void set_item_submenu_node(index: int, submenu: PopupMenu) 🔗

Imposta il sottomenu dell'elemento all'indice index. Il sottomenu è un nodo PopupMenu che verrebbe mostrato quando si clicca sull'elemento. Deve essere un figlio di questo PopupMenu o non avere un genitore (nel qual caso sarà automaticamente aggiunto come figlio). Se il popup submenu ha un altro genitore, questo metodo fallirà.


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

Imposta il testo dell'elemento all'indice index.


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

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


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

Imposta la stringa del tooltip dell'elemento all'indice index.


void toggle_item_checked(index: int) 🔗

Commuta lo stato di spunta dell'elemento all'indice index.


void toggle_item_multistate(index: int) 🔗

Passa allo stato successivo di un elemento multistato. Vedi add_multistate_item() per i dettagli.


Descrizioni delle proprietà del tema

Color font_accelerator_color = Color(0.7, 0.7, 0.7, 0.8) 🔗

Il Color del testo utilizzato per le scorciatoie e gli acceleratori che sono visualizzati accanto al nome dell'elemento di menu quando definiti. Vedi get_item_accelerator() per ulteriori informazioni sugli acceleratori.


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

Il Color predefinito del testo per i nomi degli elementi di menu.


Color font_disabled_color = Color(0.4, 0.4, 0.4, 0.8) 🔗

Il Color utilizzato per il testo degli elementi di menu disabilitati.


Color font_hover_color = Color(0.875, 0.875, 0.875, 1) 🔗

Il Color utilizzato per il testo al passaggio del mouse.


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

La tinta del contorno del testo ella voce del menu.


Color font_separator_color = Color(0.875, 0.875, 0.875, 1) 🔗

Il Color utilizzato per il testo dei separatori etichettati. Vedi add_separator().


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

La tinta dei contorni del testo del separatore etichettato.


int gutter_compact = 1 🔗

If not 0, the icon gutter will be merged with the checkbox gutter when possible. This acts as a boolean.


int h_separation = 4 🔗

Lo spazio orizzontale tra i componenti dell'elemento.


int icon_max_width = 0 🔗

La larghezza massima consentita dell'icona dell'elemento. Questo limite è applicato al di sopra della dimensione predefinita dell'icona, ma prima del valore impostato con set_item_icon_max_width(). L'altezza è regolata in base al rapporto dell'icona.


int indent = 10 🔗

Larghezza del singolo livello di indentazione.


int item_end_padding = 2 🔗

Spaziatura orizzontale a destra degli elementi (o a sinistra, nel layout RTL).


int item_start_padding = 2 🔗

Spaziatura orizzontale a sinistra degli elementi (o a destra, nel layout RTL).


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 search_bar_separation = 4 🔗

The vertical space between search bar and menu items.


int separator_outline_size = 0 🔗

La dimensione del contorno del testo di un separatore etichettato.


int v_separation = 4 🔗

Lo spazio verticale tra ogni elemento di menu.


Font font 🔗

Il Font utilizzato per gli elementi di menu.


Font font_separator 🔗

Il Font utilizzato per il separatore etichettato.


int font_separator_size 🔗

Dimensione del font di un separatore etichettato.


int font_size 🔗

Dimensione del font degli elementi del menu.


Texture2D checked 🔗

Icona Texture2D per gli elementi di casella di spunta che sono spuntati.


Texture2D checked_disabled 🔗

Icona Texture2D per gli elementi di casella di spunta quando sono disabilitati.


Texture2D radio_checked 🔗

Icona Texture2D per gli elementi di pulsante di scelta spuntati.


Texture2D radio_checked_disabled 🔗

Icona Texture2D per gli elementi di pulsante di scelta quando sono disabilitati.


Texture2D radio_unchecked 🔗

Icona Texture2D per gli elementi di pulsante di scelta non spuntati.


Texture2D radio_unchecked_disabled 🔗

Icona Texture2D per gli elementi di pulsante di scelta non spuntati, quando sono disabilitati.


Texture2D icon for the search bar's search icon.


Texture2D submenu 🔗

Icona Texture2D per la freccia del sottomenu (per i layout da sinistra a destra).


Texture2D submenu_mirrored 🔗

Icona Texture2D per la freccia del sottomenu (per i layout da destra a sinistra).


Texture2D unchecked 🔗

Icona Texture2D per gli elementi di casella di spunta che non sono spuntati.


Texture2D unchecked_disabled 🔗

Icona Texture2D per gli elementi di casella di spunta che non sono spuntati, quando sono disabilitati.


StyleBox hover 🔗

Lo StyleBox visualizzato quando si passa il mouse su un elemento del PopupMenu.


StyleBox labeled_separator_left 🔗

Lo StyleBox per il lato sinistro del separatore etichettato. Vedi add_separator().


StyleBox labeled_separator_right 🔗

Lo StyleBox per il lato destro del separatore etichettato. Vedi add_separator().


StyleBox panel 🔗

Lo StyleBox per il pannello di sfondo.


StyleBox separator 🔗

Lo StyleBox utilizzato per i separatori. Vedi add_separator().