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 usata 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 voci è maggiore dell'altezza massima del PopupMenu, uno ScrollContainer dentro il 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 voci negativi, ovvero -1 per accedere all'ultima voce, -2 per selezionare la penultima voce 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 una voce per selezionare la prima voce 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 la voce successiva 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 la voce 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 le voci 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 una voce con un certo id tramite l'azione di input ProjectSettings.input/ui_up o ProjectSettings.input/ui_down.


id_pressed(id: int) 🔗

Emesso quando viene premuta una voce con un certo id. Emesso anche quando viene attivato il suo acceleratore su macOS.

Nota: Se id è negativo (sia esplicitamente sia a causa di un overflow), sarà invece restituito l'indice corrispondente.


index_pressed(index: int) 🔗

Emesso quando viene premuta una voce con l'indice index. Emesso anche quando viene attivato il suo acceleratore su macOS.


menu_changed() 🔗

Emesso quando una voce viene aggiunta, modificata o rimossa.


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 selezionata una voce.


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 selezionata una voce di stato.


int item_count = 0 🔗

  • void set_item_count(value: int)

  • int get_item_count()

Il numero di voci attualmente nell'elenco.


int item_{index}/checkable = 0 🔗

Il tipo di voce spuntabile per la voce all'indice index.

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


bool item_{index}/checked = false 🔗

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

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


bool item_{index}/disabled = false 🔗

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

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


Texture2D item_{index}/icon 🔗

L'icona della voce all'indice index.

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


int item_{index}/id = 0 🔗

L'ID della voce all'indice index.

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


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

Il testo della voce all'indice index.

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


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'altra voce 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()

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.

Nota: Quando abilitato, allow_search è ignorato.


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 sia visibile. search_bar_enabled deve essere false affinché questo abbia effetto. Le voci separatori non contano.


bool shrink_height = true 🔗

  • void set_shrink_height(value: bool)

  • bool get_shrink_height()

Se true, rimpicciolisce il PopupMenu alla minima altezza quando viene mostrato.


bool shrink_width = true 🔗

  • void set_shrink_width(value: bool)

  • bool get_shrink_width()

Se true, rimpicciolisce il PopupMenu alla minima larghezza quando viene mostrato.


float submenu_popup_delay = 0.2 🔗

  • void set_submenu_popup_delay(value: float)

  • float get_submenu_popup_delay()

Imposta il tempo di ritardo in secondi prima di far apparire la voce di sottomenu al passaggio del mouse. Se il menu popup è aggiunto come figlio di un altro (fungendo da sottomenu), erediterà il tempo di ritardo della voce padre.

Nota: Se il mouse esce da una voce di sottomenu con un sottomenu aperto ed entra in un altra voce di sottomenu, il tempo di ritardo per la farlo apparire è influenzato dalla direzione di movimento del mouse verso il sottomenu aperto. Se il mouse si muove verso il sottomenu, il sottomenu aperto attenderà circa 0.5 secondi prima di chiudersi, il che consente alla voce di sottomenu puntata dal mouse di aprirsi. Questo ritardo in più permette al mouse di spostarsi sul sottomenu aperto, attraversando altre voci del menu, senza che si chiuda prematuramente. Se il mouse non si muove verso il sottomenu aperto, ad esempio verso il basso, il sottomenu si chiuderà immediatamente.


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

Verifica l'evento event fornito rispetto alle scorciatoie e agli acceleratori del PopupMenu e attiva la prima voce 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 una voce è stata attivata correttamente.

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


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

Aggiunge una nuova voce 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, 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.

Nota: Le voci spuntabili mostrano solo un segno di spunta, ma non hanno alcun comportamento di spunta incorporato e devono essere selezionate e deselezionate manualmente. Consulta set_item_checked() per ulteriori informazioni su come controllarle.


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

Aggiunge una nuova voce spuntabile e le 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: Le voci spuntabili mostrano solo un segno di spunta, ma non hanno alcun comportamento di spunta incorporato e devono essere selezionate e deselezionate manualmente. Consulta set_item_checked() per ulteriori informazioni su come controllarle.


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

Aggiunge una nuova voce 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, 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.

Nota: Le voci spuntabili mostrano solo un segno di spunta, ma non hanno alcun comportamento di spunta incorporato e devono essere selezionate e deselezionate manualmente. Consulta set_item_checked() per ulteriori informazioni su come controllarle.


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

Aggiunge una nuova voce spuntabile e le 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: Le voci spuntabili mostrano solo un segno di spunta, ma non hanno alcun comportamento di spunta incorporato e devono essere selezionate e deselezionate manualmente. Consulta set_item_checked() per ulteriori informazioni su come controllarle.


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

Aggiunge una nuova voce 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, 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.


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 una nuova voce e le 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 una nuova voce 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, 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.

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 controllarle.


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, 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.

Nota: Le voci spuntabili mostrano solo un segno di spunta, ma non hanno alcun comportamento di spunta incorporato e devono essere selezionate e deselezionate manualmente. Consulta set_item_checked() per ulteriori informazioni su come controllarle.


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: Le voci spuntabili mostrano solo un segno di spunta, ma non hanno alcun comportamento di spunta incorporato e devono essere selezionate e deselezionate manualmente. Consulta set_item_checked() per ulteriori informazioni su come controllarle.


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

Aggiunge un separatore tra le voci. 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 una voce che fungerà da sottomenu del nodo PopupMenu genitore quando cliccata. L'argomento submenu deve essere il nome di un PopupMenu esistente che è stato aggiunto come figlio a questo nodo. Questo sottomenu verrà mostrato quando la voce viene cliccata, ci si passa sopra con il mouse per abbastanza a lungo o viene attivata tramite 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 una voce che fungerà da sottomenu del nodo PopupMenu genitore quando cliccata. Questo sottomenu verrà mostrato quando la voce viene cliccata, ci si passa sopra per abbastanza a lungo o viene attivata tramite 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 tutte le voci dal PopupMenu. Se free_submenus è true, i nodi del sottomenu sono liberati automaticamente.


int get_focused_item() const 🔗

Restituisce l'indice della voce attualmente focalizzata. Restituisce -1 se nessuna voce è focalizzata.


Key get_item_accelerator(index: int) const 🔗

Restituisce l'acceleratore della voce 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 della voce all'indice index.


Texture2D get_item_icon(index: int) const 🔗

Restituisce l'icona della voce all'indice index.


int get_item_icon_max_width(index: int) const 🔗

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


Color get_item_icon_modulate(index: int) const 🔗

Restituisce il colore che modula l'icona della voce all'indice index.


int get_item_id(index: int) const 🔗

Restituisce l'icona della voce all'indice index.


int get_item_indent(index: int) const 🔗

Restituisce l'offset orizzontale della voce all'indice index.


int get_item_index(id: int) const 🔗

Restituisce l'indice della voce contenente l'id specificato. L'indice è assegnato automaticamente a ciascuna voce dal motore e non può essere impostato manualmente.


String get_item_language(index: int) const 🔗

Restituisce il codice lingua del testo per la voce.


Variant get_item_metadata(index: int) const 🔗

Restituisce i metadati della voce specificata, che potrebbero essere di qualsiasi tipo. È possibile impostarli con set_item_metadata(), il quale fornisce un modo semplice per assegnare dati di contesto alle voci.


int get_item_multistate(index: int) const 🔗

Restituisce lo stato della voce all'indice index.


int get_item_multistate_max(index: int) const 🔗

Restituisce gli stati massimi della voce all'indice index.


Shortcut get_item_shortcut(index: int) const 🔗

Restituisce la Shortcut associata con la voce all'indice index.


String get_item_submenu(index: int) const 🔗

Deprecato: Prefer using get_item_submenu_node() instead.

Restituisce il nome del sottomenu della voce 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 sottomenu della voce all'indice index, o null se non è stato aggiunto alcun sottomenu. Consulta add_submenu_node_item() per ulteriori informazioni su come aggiungere un sottomenu.


String get_item_text(index: int) const 🔗

Restituisce il testo della voce all'indice index.


TextDirection get_item_text_direction(index: int) const 🔗

Restituisce la direzione base di scrittura per il testo della voce.


String get_item_tooltip(index: int) const 🔗

Restituisce il tooltip associato alla voce all'indice index.


bool is_item_checkable(index: int) const 🔗

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

Nota: Le voci spuntabili mostrano solo un segno di spunta o un pulsante di scelta, ma non hanno alcun comportamento di controllo incorporato e devono essere selezionate e deselezionate manualmente.


bool is_item_checked(index: int) const 🔗

Restituisce true se la voce all'indice index è spuntata.


bool is_item_disabled(index: int) const 🔗

Restituisce true se la voce all'indice index è disabilitata. Quando è disabilitata non può essere selezionata, e la sua azione non può essere invocata.

Consulta set_item_disabled() per ulteriori informazioni su come disabilitare una voce.


bool is_item_radio_checkable(index: int) const 🔗

Restituisce true se la voce all'indice index può essere spuntata come un pulsante di scelta (radio).

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


bool is_item_separator(index: int) const 🔗

Restituisce true se la voce è un separatore. In tal caso, sarà visualizzata 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 della voce specificata è 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 la voce all'indice index dal menu.

Nota: Gli indici delle voci dopo la voce rimossa saranno spostati di uno.


void scroll_to_item(index: int) 🔗

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


void set_focused_item(index: int) 🔗

Imposta la voce attualmente focalizzata sulla voce all'indice index.

Passando -1 come indice fa in modo che nessuna voce sia focalizzata.


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

Imposta l'acceleratore della voce 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 la voce all'indice index ha una casella di spunta. Se false, imposta il tipo della voce su testo semplice.

Nota: Le voci spuntabili mostrano solo un segno di spunta, ma non hanno alcun comportamento di controllo incorporato e devono essere selezionate e deselezionate manualmente.


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

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


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

Contrassegna la voce all'indice index come separatore, il che significa che sarà visualizzata come una linea. Se false, imposta il tipo della voce su testo semplice.


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

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

Le voci utilizzano Node.AUTO_TRANSLATE_MODE_INHERIT come predefinita, la quale utilizza la stessa modalità di traduzione automatica del PopupMenu.


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

Imposta lo stato di spunta della voce all'indice index.


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

Abilita o disabilita la voce all'indice index. Quando è disabilitata, non può essere selezionata e la sua azione non può essere invocata.


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

Sostituisce l'icona Texture2D della voce all'indice index.


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

Imposta la larghezza massima consentita dell'icona per la voce all'indice index. Questo limite è applicato oltre alla dimensione predefinita dell'icona e oltre 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 della voce all'indice index.


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

Imposta l'id della voce 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 della voce all'indice index.


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

Cambia l'indice della voce all'indice index portandolo all'indice target_index. Può servire per spostare una voce sopra altre voci. La voce spostata manterrà lo stesso ID, anche se è stato generato dall'indice originale.

Nota: Gli indici di tutte le voci comprese tra l'indice index e l'indice target_index verranno spostati di uno.


void set_item_language(index: int, language: String) 🔗

Imposta il codice lingua del testo della voce all'indice specificato su language. Serve per gli algoritmi di interruzione di riga e di formazione del testo. Se language è vuoto, viene utilizzata la localizzazione attuale.


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

Imposta i metadati di una voce, che possono essere di qualsiasi tipo. Puoi ottenerli in seguito con get_item_metadata(), che fornisce un modo semplice per assegnare dati di contesto alle voci.


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

Imposta lo stato di una voce multistato. Vedi add_multistate_item() per i dettagli.


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

Imposta gli stati massimi di una voce multistato. Vedi add_multistate_item() per i dettagli.


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

Imposta una scorciatoia (Shortcut) per la voce all'indice index.


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

Disabilita la scorciatoia (Shortcut) della voce all'indice index.


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

Deprecato: Prefer using set_item_submenu_node() instead.

Imposta il sottomenu della voce all'indice index. Il sottomenu è il nome di un nodo PopupMenu figlio che verrebbe mostrato quando si clicca sulla voce.


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

Imposta il sottomenu della voce all'indice index. Il sottomenu è un nodo PopupMenu che verrebbe mostrato quando si clicca sulla voce. 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 della voce all'indice index.


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

Imposta la direzione base di scrittura del testo per la voce.


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

Imposta la stringa del tooltip della voce all'indice index.


void toggle_item_checked(index: int) 🔗

Cambia lo stato di spunta della voce all'indice index.


void toggle_item_multistate(index: int) 🔗

Passa allo stato successivo di una voce 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 della voce 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 delle voci di menu.


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

Il Color utilizzato per il testo delle voci disabilitate di menu.


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 della voce di 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 🔗

Se non è 0, la barra laterale delle icone sarà unita alla barra delle caselle di spunta quando possibile. Funge da valore booleano.


int h_separation = 4 🔗

Lo spazio orizzontale tra i componenti della voce.


int icon_max_width = 0 🔗

La larghezza massima consentita dell'icona della voce. Questo limite è applicato oltre alla 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 delle voci (o a sinistra, nel layout RTL).


int item_start_padding = 2 🔗

Spaziatura orizzontale a sinistra delle voci (o a destra, nel layout RTL).


int outline_size = 0 🔗

La dimensione del contorno del testo della voce.

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 🔗

Lo spazio verticale tra la barra di ricerca e le voci di menu.


int separator_outline_size = 0 🔗

La dimensione del contorno del testo di un separatore etichettato.


int v_separation = 4 🔗

Lo spazio verticale tra ogni voce di menu.


Font font 🔗

Il Font utilizzato per le voci 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 delle voci di menu.


Texture2D checked 🔗

Icona Texture2D per le voci di casella di spunta che sono spuntate.


Texture2D checked_disabled 🔗

Icona Texture2D per le voci di casella di spunta quando sono disabilitate.


Texture2D radio_checked 🔗

Icona Texture2D per le voci di pulsante di scelta spuntate.


Texture2D radio_checked_disabled 🔗

Icona Texture2D per le voci di pulsante di scelta quando sono disabilitate.


Texture2D radio_unchecked 🔗

Icona Texture2D per le voci di pulsante di scelta non spuntate.


Texture2D radio_unchecked_disabled 🔗

Icona Texture2D per le voci di pulsante di scelta non spuntate, quando sono disabilitate.


Icona Texture2D per l'icona di ricerca della barra di ricerca.


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 le voci di casella di spunta che non sono spuntate.


Texture2D unchecked_disabled 🔗

Icona Texture2D per le voci di casella di spunta che non sono spuntate, quando sono disabilitate.


StyleBox hover 🔗

Lo StyleBox visualizzato quando si passa il mouse su una voce 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().