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.

Window

Eredita: Viewport < Node < Object

Ereditato da: AcceptDialog, Popup

Classe di base per tutte le finestre, quelle di dialogo e i popup.

Descrizione

Un nodo che crea una finestra. La finestra può essere una finestra nativa di sistema o incorporata all'interno di un altro Window (vedi Viewport.gui_embed_subwindows).

Durante l'esecuzione, i nodi Window non si chiuderanno automaticamente quando richiesto. È necessario gestirlo manualmente tramite il segnale close_requested (questo vale sia per premere il pulsante di chiusura sia per cliccare al di fuori di un popup).

Tutorial

Proprietà

String

accessibility_description

""

String

accessibility_name

""

bool

always_on_top

false

bool

auto_translate

bool

borderless

false

ContentScaleAspect

content_scale_aspect

0

float

content_scale_factor

1.0

ContentScaleMode

content_scale_mode

0

Vector2i

content_scale_size

Vector2i(0, 0)

ContentScaleStretch

content_scale_stretch

0

int

current_screen

bool

exclude_from_capture

false

bool

exclusive

false

bool

extend_to_title

false

bool

force_native

false

bool

hdr_output_requested

false

WindowInitialPosition

initial_position

0

bool

keep_title_visible

false

Vector2i

max_size

Vector2i(0, 0)

bool

maximize_disabled

false

Vector2i

min_size

Vector2i(0, 0)

bool

minimize_disabled

false

Mode

mode

0

bool

mouse_passthrough

false

PackedVector2Array

mouse_passthrough_polygon

PackedVector2Array()

Rect2i

nonclient_area

Rect2i(0, 0, 0, 0)

bool

popup_window

false

bool

popup_wm_hint

false

Vector2i

position

Vector2i(0, 0)

bool

sharp_corners

false

Vector2i

size

Vector2i(100, 100)

Theme

theme

StringName

theme_type_variation

&""

String

title

""

bool

transient

false

bool

transient_to_focused

false

bool

transparent

false

bool

unfocusable

false

bool

unresizable

false

bool

visible

true

bool

wrap_controls

false

Metodi

Vector2

_get_contents_minimum_size() virtual const

void

add_theme_color_override(name: StringName, color: Color)

void

add_theme_constant_override(name: StringName, constant: int)

void

add_theme_font_override(name: StringName, font: Font)

void

add_theme_font_size_override(name: StringName, font_size: int)

void

add_theme_icon_override(name: StringName, texture: Texture2D)

void

add_theme_stylebox_override(name: StringName, stylebox: StyleBox)

void

begin_bulk_theme_override()

bool

can_draw() const

void

child_controls_changed()

void

end_bulk_theme_override()

Vector2

get_contents_minimum_size() const

bool

get_flag(flag: Flags) const

Window

get_focused_window() static

LayoutDirection

get_layout_direction() const

float

get_output_max_linear_value() const

Vector2i

get_position_with_decorations() const

Vector2i

get_size_with_decorations() const

Color

get_theme_color(name: StringName, theme_type: StringName = &"") const

int

get_theme_constant(name: StringName, theme_type: StringName = &"") const

float

get_theme_default_base_scale() const

Font

get_theme_default_font() const

int

get_theme_default_font_size() const

Font

get_theme_font(name: StringName, theme_type: StringName = &"") const

int

get_theme_font_size(name: StringName, theme_type: StringName = &"") const

Texture2D

get_theme_icon(name: StringName, theme_type: StringName = &"") const

StyleBox

get_theme_stylebox(name: StringName, theme_type: StringName = &"") const

int

get_window_id() const

void

grab_focus()

bool

has_focus() const

bool

has_theme_color(name: StringName, theme_type: StringName = &"") const

bool

has_theme_color_override(name: StringName) const

bool

has_theme_constant(name: StringName, theme_type: StringName = &"") const

bool

has_theme_constant_override(name: StringName) const

bool

has_theme_font(name: StringName, theme_type: StringName = &"") const

bool

has_theme_font_override(name: StringName) const

bool

has_theme_font_size(name: StringName, theme_type: StringName = &"") const

bool

has_theme_font_size_override(name: StringName) const

bool

has_theme_icon(name: StringName, theme_type: StringName = &"") const

bool

has_theme_icon_override(name: StringName) const

bool

has_theme_stylebox(name: StringName, theme_type: StringName = &"") const

bool

has_theme_stylebox_override(name: StringName) const

void

hide()

bool

is_embedded() const

bool

is_layout_rtl() const

bool

is_maximize_allowed() const

bool

is_using_font_oversampling() const

void

move_to_center()

void

move_to_foreground()

void

popup(rect: Rect2i = Rect2i(0, 0, 0, 0))

void

popup_centered(minsize: Vector2i = Vector2i(0, 0))

void

popup_centered_clamped(minsize: Vector2i = Vector2i(0, 0), fallback_ratio: float = 0.75)

void

popup_centered_ratio(ratio: float = 0.8)

void

popup_exclusive(from_node: Node, rect: Rect2i = Rect2i(0, 0, 0, 0))

void

popup_exclusive_centered(from_node: Node, minsize: Vector2i = Vector2i(0, 0))

void

popup_exclusive_centered_clamped(from_node: Node, minsize: Vector2i = Vector2i(0, 0), fallback_ratio: float = 0.75)

void

popup_exclusive_centered_ratio(from_node: Node, ratio: float = 0.8)

void

popup_exclusive_on_parent(from_node: Node, parent_rect: Rect2i)

void

popup_on_parent(parent_rect: Rect2i)

void

remove_theme_color_override(name: StringName)

void

remove_theme_constant_override(name: StringName)

void

remove_theme_font_override(name: StringName)

void

remove_theme_font_size_override(name: StringName)

void

remove_theme_icon_override(name: StringName)

void

remove_theme_stylebox_override(name: StringName)

void

request_attention()

void

reset_size()

void

set_flag(flag: Flags, enabled: bool)

void

set_ime_active(active: bool)

void

set_ime_position(position: Vector2i)

void

set_layout_direction(direction: LayoutDirection)

void

set_taskbar_progress_state(state: ProgressState)

void

set_taskbar_progress_value(value: float)

void

set_unparent_when_invisible(unparent: bool)

void

set_use_font_oversampling(enable: bool)

void

show()

void

start_drag()

void

start_resize(edge: WindowResizeEdge)

Proprietà del tema

Color

title_color

Color(0.875, 0.875, 0.875, 1)

Color

title_outline_modulate

Color(0, 0, 0, 1)

int

close_h_offset

18

int

close_v_offset

24

int

resize_margin

4

int

title_height

36

int

title_outline_size

0

Font

title_font

int

title_font_size

Texture2D

close

Texture2D

close_pressed

StyleBox

embedded_border

StyleBox

embedded_unfocused_border


Segnali

about_to_popup() 🔗

Emesso subito dopo una chiamata a popup(), prima che il Window appaia o faccia qualcosa.


close_requested() 🔗

Emesso quando il pulsante di chiusura Window viene premuto o quando popup_window è abilitato e l'utente clicca fuori dalla finestra.

Questo segnale può essere utilizzato per gestire la chiusura della finestra, ad esempio collegandolo a hide().


dpi_changed() 🔗

Emesso quando il DPI del Window cambia a seguito di cambiamenti di livello del sistema operativo (ad esempio spostando la finestra da un display Retina a un display con una risoluzione inferiore).

Nota: Implementato solo su macOS e Linux (Wayland).


files_dropped(files: PackedStringArray) 🔗

Emesso quando dei file sono trascinati dal gestore di file del sistema operativo e rilasciati nella finestra di gioco. L'argomento è una lista di percorsi dei file.

func _ready():
    get_viewport().files_dropped.connect(on_files_dropped)

func on_files_dropped(files):
    print(files)

Note: Questo segnale funziona solo con le finestre native, cioè la finestra principale e nodi derivati da Window quando Viewport.gui_embed_subwindows è disabilitato nella viewport principale.


focus_entered() 🔗

Emesso quando il Window viene focalizzato.


focus_exited() 🔗

Emesso quando il Window perde il suo focus.


go_back_requested() 🔗

Emesso quando viene inviata una richiesta di torno indietro (ad esempio premendo il pulsante "Indietro" su Android), subito dopo Node.NOTIFICATION_WM_GO_BACK_REQUEST.


mouse_entered() 🔗

Emesso quando il cursore del mouse entra nell'area visibile del Window, che non è coperta da altri nodi Control o finestre, purché il suo Viewport.gui_disable_input è false e indipendentemente se è attualmente focalizzata o meno.


mouse_exited() 🔗

Emesso quando il cursore del mouse esce dall'area visibile del Window, che non è coperta da altri nodi Control o finestre, purché il suo Viewport.gui_disable_input è false e indipendentemente se è attualmente focalizzata o meno.


nonclient_window_input(event: InputEvent) 🔗

Emitted when the mouse event is received by the custom decoration area defined by nonclient_area, and normal input to the window is blocked (such as when it has an exclusive child opened). event's position is in the embedder's coordinate system.


output_max_linear_value_changed(output_max_linear_value: float) 🔗

Emesso quando il valore lineare massimo di output restituito da get_output_max_linear_value() è cambiato. Ciò avviene quando l'output HDR è abilitato o disabilitato e quando i valori di luminanza di output HDR della finestra sono cambiati, ad esempio quando il giocatore regola l'impostazione della luminosità dello schermo o sposta la finestra su uno schermo diverso. output_max_linear_value è il nuovo valore.


theme_changed() 🔗

Emesso quando la notifica NOTIFICATION_THEME_CHANGED viene inviata.


title_changed() 🔗

Emesso quando il testo nella barra del titolo della finestra viene modificato.


titlebar_changed() 🔗

Emesso quando le decorazioni della barra del titolo della finestra cambiano, ad esempio quando la finestra in macOS entra o esce la modalità a schermo intero, o il flag di estensione sul titolo cambia.


visibility_changed() 🔗

Emesso quando il Window viene reso visibile o scompare.


window_input(event: InputEvent) 🔗

Emesso quando il Window è attualmente focalizzato e riceve qualsiasi input, passando l'evento ricevuto come argomento. La posizione dell'evento, se presente, è relativa alle coordinate dell'incorporatore.


Enumerazioni

enum Mode: 🔗

Mode MODE_WINDOWED = 0

Modalità finestra, ovvero il Window non occupa l'intero schermo (a meno che non sia impostato sulla dimensione dello schermo).

Mode MODE_MINIMIZED = 1

Modalità finestra minimizzata, ovvero la Window non è visibile e disponibile nella lista finestre del gestore finestre. Normalmente accade quando si preme il pulsante di minimizzazione.

Mode MODE_MAXIMIZED = 2

Modalità finestra massimizzata, ovvero la Window occuperà l'intera area dello schermo, tranne la barra delle applicazioni, e visualizzerà comunque i suoi bordi. Normalmente accade quando si preme il pulsante di massimizzazione.

Mode MODE_FULLSCREEN = 3

Modalità a schermo intero con supporto multi-finestra completo.

La finestra a schermo intero copre l'intera area di visualizzazione di uno schermo e non ha decorazioni. La modalità video del display non cambia.

Su Android: Questo abilita la modalità immersiva.

Su macOS: È utilizzato un nuovo desktop per visualizzare il progetto in esecuzione.

Nota: A prescindere dalla piattaforma, abilitando lo schermo intero si modificheranno le dimensioni della finestra in modo che corrispondano alle dimensioni del monitor. Pertanto, assicurati che il tuo progetto supporti diverse risoluzioni quando abiliti la modalità a schermo intero.

Mode MODE_EXCLUSIVE_FULLSCREEN = 4

Modalità a schermo intero con una sola finestra. Questa modalità è più efficiente, ma può essere aperta solo una finestra alla volta su un determinato schermo (l'apertura di una finestra secondaria o il cambio dell'applicazione attiverà una transizione dallo schermo intero).

La finestra a schermo intero copre l'intera area di visualizzazione di uno schermo e non ha bordi o decorazioni. La modalità video del display non cambia.

Nota: Questa modalità potrebbe non funzionare con il software di registrazione dello schermo.

Su Android: Questo abilita la modalità immersiva.

Su Windows: A seconda del driver video, la transizione allo schermo intero potrebbe causare lo spegnimento momentaneo dello schermo.

Su macOS: È utilizzato un nuovo desktop per visualizzare il progetto in esecuzione. La modalità a schermo intero esclusiva impedisce che Dock e Menu vengano visualizzati quando il puntatore del mouse passa sul bordo dello schermo.

Su Linux (X11): La modalità a schermo intero esclusiva ignora il compositore.

Su Linux (Wayland): Equivalente a MODE_FULLSCREEN.

Nota: A prescindere dalla piattaforma, abilitando lo schermo intero si modificheranno le dimensioni della finestra in modo che corrispondano alle dimensioni del monitor. Pertanto, assicurati che il tuo progetto supporti diverse risoluzioni quando abiliti la modalità a schermo intero.


enum Flags: 🔗

Flags FLAG_RESIZE_DISABLED = 0

The window can't be resized by dragging its resize grip. It's still possible to resize the window using size. This flag is ignored for full screen windows. Set with unresizable.

Note: This flag is implemented on Linux (X11), macOS, Windows, and embedded windows.

Flags FLAG_BORDERLESS = 1

The window do not have native title bar and other decorations. This flag is ignored for full-screen windows. Set with borderless.

Note: This flag is implemented on Linux (X11/Wayland), macOS, Windows, and embedded windows.

Flags FLAG_ALWAYS_ON_TOP = 2

The window is floating on top of all other windows. This flag is ignored for full-screen windows. Set with always_on_top.

Note: This flag is implemented on Linux (X11), macOS, Windows, and embedded windows.

Flags FLAG_TRANSPARENT = 3

The window background can be transparent. Set with transparent.

Note: This flag has no effect if either ProjectSettings.display/window/per_pixel_transparency/allowed, or the window's Viewport.transparent_bg is set to false.

Note: Transparency support is implemented on Linux (X11/Wayland), macOS, Windows, and embedded windows.

Flags FLAG_NO_FOCUS = 4

The window can't be focused. No-focus window will ignore all input, except mouse clicks. Set with unfocusable.

Note: This flag is implemented on Linux (X11), macOS, Windows, and embedded windows.

Flags FLAG_POPUP = 5

Window is part of menu or OptionButton dropdown. This flag can't be changed when the window is visible. An active popup window will exclusively receive all input, without stealing focus from its parent. Popup windows are automatically closed when uses click outside it, or when an application is switched. Popup window must have transient parent set (see transient).

Note: This flag is implemented on Linux (X11/Wayland), macOS, Windows, and embedded Popup windows.

Flags FLAG_EXTEND_TO_TITLE = 6

Window content is expanded to the full size of the window. Unlike borderless window, the frame is left intact and can be used to resize the window, title bar is transparent, but have minimize/maximize/close buttons. Set with extend_to_title.

Note: This flag has no effect in embedded windows.

Note: This flag is implemented only on macOS.

Flags FLAG_MOUSE_PASSTHROUGH = 7

All mouse events are passed to the underlying window of the same application.

Note: This flag has no effect in embedded windows.

Note: This flag is implemented on Linux (X11), macOS, Windows.

Flags FLAG_SHARP_CORNERS = 8

Lo stile della finestra è sostituito, forzando angoli acuti.

Nota: Questo flag non ha effetto nelle finestre incorporate.

Nota: Questo flag è implementato solo su Windows (11).

Flags FLAG_EXCLUDE_FROM_CAPTURE = 9

La finestra è esclusa dagli screenshot acquisiti da DisplayServer.screen_get_image(), DisplayServer.screen_get_image_rect() e DisplayServer.screen_get_pixel().

Nota: Questo flag non ha effetto nelle finestre incorporate.

Nota: Questo flag è implementato su macOS e Windows (10, 20H1).

Nota: L'impostazione di questo flag impedirà ai metodi standard di catturare un'immagine della finestra, ma NON garantisce che altre app non siano in grado di catturare un'immagine. Non si dovrebbe utilizzare come DRM o misura di sicurezza.

Flags FLAG_POPUP_WM_HINT = 10

Signals the window manager that this window is supposed to be an implementation-defined "popup" (usually a floating, borderless, untileable and immovable child window).

Note: This flag has no effect in embedded windows.

Note: This flag is implemented on Linux (Wayland).

Flags FLAG_MINIMIZE_DISABLED = 11

Window minimize button is disabled.

Note: This flag has no effect in embedded windows.

Note: This flag is implemented on Linux (X11), macOS, and Windows.

Flags FLAG_MAXIMIZE_DISABLED = 12

Window maximize button is disabled.

Note: This flag has no effect in embedded windows.

Note: This flag is implemented on Linux (X11), macOS, and Windows.

Flags FLAG_MAX = 13

Valore massimo del Flags.


enum ContentScaleMode: 🔗

ContentScaleMode CONTENT_SCALE_MODE_DISABLED = 0

The content will not be scaled to match the Window's size (content_scale_size is ignored).

ContentScaleMode CONTENT_SCALE_MODE_CANVAS_ITEMS = 1

Il contenuto sarà renderizzato alla dimensioni finali. Questo è più costoso per le prestazioni di CONTENT_SCALE_MODE_VIEWPORT, ma fornisce migliori risultati.

ContentScaleMode CONTENT_SCALE_MODE_VIEWPORT = 2

Il contenuto sarà renderizzato alle dimensioni di base e successivamente scalato alla dimensioni finali. Più performante di CONTENT_SCALE_MODE_CANVAS_ITEMS, ma risulta in un immagine pixelata.


enum ContentScaleAspect: 🔗

ContentScaleAspect CONTENT_SCALE_ASPECT_IGNORE = 0

L'aspetto sarà ignorato. Scalare semplicemente allunga il contenuto per adattarsi alle dimensioni finali.

ContentScaleAspect CONTENT_SCALE_ASPECT_KEEP = 1

L'aspetto del contenuto sarà conservato. Se le dimensioni finali hanno un aspetto diverso da quello di base, l'immagine sarà centrata e barre nere appariranno sui lati destro e sinistro.

ContentScaleAspect CONTENT_SCALE_ASPECT_KEEP_WIDTH = 2

Il contenuto può essere esteso verticalmente. Scalare orizzontalmente risulterà a mantenere il rapporto di larghezza e poi barre nere sui lati destro e sinistro.

ContentScaleAspect CONTENT_SCALE_ASPECT_KEEP_HEIGHT = 3

Il contenuto può essere esteso orizzontalmente. Scalare verticalmente risulterà a mantenere il rapporto di altezza e poi barre nere sui lati in alto e in basso.

ContentScaleAspect CONTENT_SCALE_ASPECT_EXPAND = 4

L'aspetto del contenuto sarà mantenuto. Se le dimensioni finali hanno un aspetto diverso da quello di base, il contenuto rimarrà nell'angolo in alto a sinistra e aggiungerà un'area visibile in più nello spazio allungato.


enum ContentScaleStretch: 🔗

ContentScaleStretch CONTENT_SCALE_STRETCH_FRACTIONAL = 0

Il contenuto sarà allungato secondo un fattore frazionale. Questo riempie tutto lo spazio disponibile nella finestra, ma potrebbe causare un "traballamento dei pixel" a causa di una scala di pixel irregolare.

ContentScaleStretch CONTENT_SCALE_STRETCH_INTEGER = 1

Il contenuto sarà allungato solo in base a un fattore intero, preservando i pixel nitidi. Questo potrebbe lasciare uno sfondo nero visibile sui bordi della finestra a seconda delle dimensioni della finestra.


enum LayoutDirection: 🔗

LayoutDirection LAYOUT_DIRECTION_INHERITED = 0

Direzione automatica del layout, determinata dalla direzione del layout della finestra genitore.

LayoutDirection LAYOUT_DIRECTION_APPLICATION_LOCALE = 1

Direzione di layout automatica, determinata dalla localizzazione attuale.

LayoutDirection LAYOUT_DIRECTION_LTR = 2

Direzione di layout da sinistra a destra.

LayoutDirection LAYOUT_DIRECTION_RTL = 3

Direzione di layout da destra a sinistra.

LayoutDirection LAYOUT_DIRECTION_SYSTEM_LOCALE = 4

Direzione di layout automatica, determinata dalla localizzazione del sistema.

LayoutDirection LAYOUT_DIRECTION_MAX = 5

Rappresenta la dimensione dell'enumerazione LayoutDirection.

LayoutDirection LAYOUT_DIRECTION_LOCALE = 1

Deprecato: Use LAYOUT_DIRECTION_APPLICATION_LOCALE instead.


enum WindowInitialPosition: 🔗

WindowInitialPosition WINDOW_INITIAL_POSITION_ABSOLUTE = 0

La posizione iniziale della finestra è determinata da position.

WindowInitialPosition WINDOW_INITIAL_POSITION_CENTER_PRIMARY_SCREEN = 1

La posizione iniziale della finestra è il centro dello schermo primario.

WindowInitialPosition WINDOW_INITIAL_POSITION_CENTER_MAIN_WINDOW_SCREEN = 2

La posizione iniziale della finestra è il centro della schermata principale della finestra.

WindowInitialPosition WINDOW_INITIAL_POSITION_CENTER_OTHER_SCREEN = 3

La posizione iniziale della finestra è il centro dello schermo (current_screen).

WindowInitialPosition WINDOW_INITIAL_POSITION_CENTER_SCREEN_WITH_MOUSE_FOCUS = 4

La posizione iniziale della finestra è il centro dello schermo contenente il puntatore del mouse.

WindowInitialPosition WINDOW_INITIAL_POSITION_CENTER_SCREEN_WITH_KEYBOARD_FOCUS = 5

La posizione iniziale della finestra è il centro dello schermo contenente la finestra con la messa a fuoco della tastiera.


Costanti

NOTIFICATION_VISIBILITY_CHANGED = 30 🔗

Emesso quando la visibilità del Window cambia, subito prima visibility_changed.

NOTIFICATION_THEME_CHANGED = 32 🔗

Inviata quando il nodo ha bisogno di aggiornare i suoi elementi del tema. Ciò avviene in uno dei seguenti casi:

  • La proprietà theme è cambiata su questo nodo o su uno dei suoi antenati.

  • La proprietà theme_type_variation è cambiata su questo nodo.

  • Il nodo entra nell'albero di scene.

Nota: Per un ottimizzazione, questa notifica non verrà inviata da modifiche che si verificano mentre questo nodo è al di fuori dell'albero di scene. Invece, tutti gli aggiornamenti degli elementi del tema possono essere applicati subito quando il nodo entra nell'albero di scene.


Descrizioni delle proprietà

String accessibility_description = "" 🔗

  • void set_accessibility_description(value: String)

  • String get_accessibility_description()

La descrizione del nodo leggibile in chiaro che è riportata alle applicazioni assistive.


String accessibility_name = "" 🔗

  • void set_accessibility_name(value: String)

  • String get_accessibility_name()

Il nome del nodo leggibile in chiaro che è riportato alle applicazioni assistive.


bool always_on_top = false 🔗

Se true, la finestra sarà in alto a tutte le altre finestre. Non funziona se transient è abilitato.


bool auto_translate 🔗

  • void set_auto_translate(value: bool)

  • bool is_auto_translating()

Deprecato: Use Node.auto_translate_mode and Node.can_auto_translate() instead.

Commuta la conversione automatica del testo nella sua versione tradotta, a seconda delle impostazioni locali attuali.


bool borderless = false 🔗

Se true, la finestra non avrà bordi.


ContentScaleAspect content_scale_aspect = 0 🔗

Specifica come si comporta l'aspetto del contenuto quando il Window viene ridimensionato. L'aspetto di base è determinato da content_scale_size.


float content_scale_factor = 1.0 🔗

  • void set_content_scale_factor(value: float)

  • float get_content_scale_factor()

Specifica la scala di base del contenuto di Window quando la sua size è uguale a content_scale_size. Vedi anche Viewport.get_stretch_transform().


ContentScaleMode content_scale_mode = 0 🔗

Specifica come il contenuto viene scalato quando il Window viene ridimensionato.


Vector2i content_scale_size = Vector2i(0, 0) 🔗

  • void set_content_scale_size(value: Vector2i)

  • Vector2i get_content_scale_size()

The content's base size in "virtual" pixels. Not to be confused with size, which sets the actual window's physical size in pixels. If set to a value greater than 0 and content_scale_mode is set to a value other than CONTENT_SCALE_MODE_DISABLED, the Window's content will be scaled when the window is resized to a different size. Higher values will make the content appear smaller, as it will be able to fit more of the project in view. On the root Window, this is set to match ProjectSettings.display/window/size/viewport_width and ProjectSettings.display/window/size/viewport_height by default.

For example, when using CONTENT_SCALE_MODE_CANVAS_ITEMS and content_scale_size set to Vector2i(1280, 720), using a window size of 2560×1440 will make 2D elements appear at double their original size, as the content is scaled by a factor of 2.0 (2560.0 / 1280.0 = 2.0, 1440.0 / 720.0 = 2.0).

See the Base size section of the Multiple resolutions documentation for details.


ContentScaleStretch content_scale_stretch = 0 🔗

Il criterio da utilizzare per determinare il fattore di scala finale per gli elementi 2D. Ciò influisce sul modo in cui viene applicato content_scale_factor, oltre al fattore automatico di scala determinato da content_scale_size.


int current_screen 🔗

  • void set_current_screen(value: int)

  • int get_current_screen()

Lo schermo su cui la finestra si trova attualmente.


bool exclude_from_capture = false 🔗

Se true, il Window è escluso dagli screenshot catturati da method DisplayServer.screen_get_image], DisplayServer.screen_get_image_rect() e DisplayServer.screen_get_pixel().

Nota: Questa proprietà è implementata su macOS e Windows.

Nota: Abilitare questa impostazione impedirà ai metodi standard di catturare un'immagine della finestra, ma NON garantisce che altre app non siano in grado di catturare un'immagine. Non si dovrebbe utilizzare come DRM o misura di sicurezza.


bool exclusive = false 🔗

  • void set_exclusive(value: bool)

  • bool is_exclusive()

Se true, il Window sarà in modalità esclusiva. Le finestre esclusive sono sempre in cima al loro genitore e bloccano tutti gli input che vanno al Window genitore.

Ha bisogno di transient abilitato per poter funzionare.


bool extend_to_title = false 🔗

Se true, il contenuto della finestra è allargato alle dimensioni complete della finestra, e la barra del titolo della finestra è trasparente.

Nota: Questa proprietà è implementata solo su macOS.

Nota: Questa proprietà funziona solamente con le finestre native.


bool force_native = false 🔗

  • void set_force_native(value: bool)

  • bool get_force_native()

Se true, la finestra nativa verrà utilizzata a prescindere dalla viewport genitore e dalle impostazioni del progetto.


bool hdr_output_requested = false 🔗

  • void set_hdr_output_requested(value: bool)

  • bool is_hdr_output_requested()

Se true, richiede l'output HDR per il Window, ricorrendo a SDR se non supportato, e passando automaticamente da HDR a SDR quando la finestra si sposta tra gli schermi, cambiano le capacità dello schermo o vengono modificate le impostazioni di sistema. Questo forzerà internamente l'abilitazione di Viewport.use_hdr_2d sulla Viewport principale. Tutte le altre SubViewport di questa Window devono avere la proprietà Viewport.use_hdr_2d abilitata per produrre output HDR.


WindowInitialPosition initial_position = 0 🔗

Specifica il tipo di posizione iniziale per il Window.


bool keep_title_visible = false 🔗

  • void set_keep_title_visible(value: bool)

  • bool get_keep_title_visible()

Se true, la larghezza di Window è allargata per mantenere il testo della barra del titolo completamente visibile.


Vector2i max_size = Vector2i(0, 0) 🔗

Se non zero, il Window non può essere ridimensionato per essere più grande di queste dimensioni.

Nota: Questa proprietà sarà ignorata se il valore è inferiore a min_size.


bool maximize_disabled = false 🔗

Se true, il pulsante di massimizzazione della Window è disabilitato.

Nota: Se entrambi i pulsanti di massimizzazione e minimizzazione sono disabilitati, i pulsanti sono completamente nascosti e solo il pulsante di chiusura è visibile.

Nota: Questa proprietà è implementata solo su macOS e Windows.


Vector2i min_size = Vector2i(0, 0) 🔗

Se non è zero, il Window non può essere ridimensionato per essere più piccolo di questa dimensione.

Nota: Questa proprietà sarà ignorata a favore di get_contents_minimum_size() se wrap_controls è abilitata e se le sue dimensioni sono più grandi.


bool minimize_disabled = false 🔗

Se true, il pulsante di minimizzazione della Window è disabilitato.

Nota: Se entrambi i pulsanti di massimizzazione e minimizzazione sono disabilitati, i pulsanti sono completamente nascosti e solo il pulsante di chiusura è visibile.

Nota: Questa proprietà è implementata solo su macOS e Windows.


Mode mode = 0 🔗

  • void set_mode(value: Mode)

  • Mode get_mode()

Imposta la modalità attuale della finestra.

Nota: La modalità "schermo intero" non è "schermo intero esclusivo" su Windows e Linux.

Nota: Questo metodo funziona solo con le finestre native, cioè la finestra principale e nodi derivati da Window quando Viewport.gui_embed_subwindows è disabilitato nella viewport principale.


bool mouse_passthrough = false 🔗

Se true, tutti gli eventi del mouse saranno passati alla finestra sottostante della stessa applicazione. Vedi anche mouse_passthrough_polygon.

Nota: Questa proprietà è implementata su Linux (X11), macOS, e Windows.

Nota: Questa proprietà funziona solamente con le finestre native.


PackedVector2Array mouse_passthrough_polygon = PackedVector2Array() 🔗

Imposta una regione poligonale della finestra che accetta eventi del mouse. Gli eventi del mouse fuori dalla regione saranno passati attraverso.

Passare un array vuoto disattiva questa funzionalità (tutti gli eventi del mouse saranno intercettati dalla finestra, che è il comportamento predefinito).

# Imposta la regione, usando un nodo Path2D.
$Window.mouse_passthrough_polygon = $Path2D.curve.get_baked_points()

# Imposta la regione, usando un nodo Polygon2D.
$Window.mouse_passthrough_polygon = $Polygon2D.polygon

# Ripristina la regione al valore predefinito.
$Window.mouse_passthrough_polygon = []

Nota: Questa proprietà è ignorata se mouse_passthrough è impostato su true.

Nota: Su Windows, la porzione di una finestra che si trova al di fuori della regione non è disegnata, mentre lo è su Linux (X11) e macOS.

Nota: Questa proprietà è implementata su Linux (X11), macOS e Windows.

Note: The returned array is copied and any changes to it will not update the original property value. See PackedVector2Array for more details.


Rect2i nonclient_area = Rect2i(0, 0, 0, 0) 🔗

  • void set_nonclient_area(value: Rect2i)

  • Rect2i get_nonclient_area()

If set, defines the window's custom decoration area which will receive mouse input, even if normal input to the window is blocked (such as when it has an exclusive child opened). See also nonclient_window_input.


bool popup_window = false 🔗

Se true, il Window sarà considerato un popup. I popup sono sottofinestre che non vengono mostrate come finestre separate nella lista di finestre del gestore nel sistema e invieranno una richiesta di chiusura quando si clicca al di fuori di essi (a meno che non sia abilitato exclusive).


bool popup_wm_hint = false 🔗

Se true, la Window segnalerà al gestore delle finestre che si tratta di un "popup" definito dall'implementazione (solitamente una finestra figlia fluttuante, senza bordi, non ordinabile e immobile).


Vector2i position = Vector2i(0, 0) 🔗

La posizione della finestra in pixel.

Se ProjectSettings.display/window/subwindows/embed_subwindows è false, la posizione è nelle coordinate dello schermo assolute. Questo in genere si applica alle estensioni dell'editor. Se l'impostazione è true, la posizione della finestra è nelle coordinate del suo Viewport genitore.

Nota: Questa proprietà funziona solo se initial_position è impostato su WINDOW_INITIAL_POSITION_ABSOLUTE.


bool sharp_corners = false 🔗

Se true, il Window sostituirà lo stile della finestra per visualizzare angoli acuti.

Nota: Questa proprietà è implementata solo su Windows (11).

Nota: Questa proprietà funziona solamente con le finestre native.


Vector2i size = Vector2i(100, 100) 🔗

The window's size in pixels. See also content_scale_size, which doesn't set the window's physical size but affects how scaling works relative to the current content_scale_mode.


Theme theme 🔗

La risorsa Theme utilizzata da questo nodo e da tutti i suoi figli Control e Window. Se un nodo figlio ha la sua risorsa Theme impostata, gli elementi del tema sono uniti, con definizioni del figlio aventi priorità maggiori.

Nota: Gli stili di Window non avranno effetto a meno che la finestra non sia incorporata.


StringName theme_type_variation = &"" 🔗

Il nome di una variazione di tipo di tema usata da questo Window per cercare i propri elementi di tema. Vedi Control.theme_type_variation per ulteriori dettagli.


String title = "" 🔗

Il titolo della finestra. Se il Window è nativo, gli stili del titolo impostati nel Theme non avranno effetto.


bool transient = false 🔗

  • void set_transient(value: bool)

  • bool is_transient()

Se true, il Window è transitorio, cioè è considerato come figlio di un altro Window. La finestra transitoria sarà distrutta con il suo genitore transitorio e tornerà il fuoco al loro genitore quando è chiuso. La finestra transitoria viene visualizzata sopra una finestra madre a schermo intero e non esclusiva. Le finestre transitorie non possono entrare in modalità a schermo intero.

Si noti che il comportamento potrebbe essere diverso a seconda della piattaforma.


bool transient_to_focused = false 🔗

  • void set_transient_to_focused(value: bool)

  • bool is_transient_to_focused()

Se true, e il Window è transient, questa finestra (al momento di diventare visibile) diventerà transitoria alla finestra attualmente focalizzata invece della finestra madre immediata nella gerarchia. Si noti che il genitore transitorio viene assegnato al momento in cui questa finestra diventa visibile, perciò cambiarlo in seguito non ha effetto fino a quando non viene rimostrato.


bool transparent = false 🔗

Se true, lo sfondo del Window può essere trasparente. Questo è meglio usato con finestre incorporate.

Nota: Il supporto per la trasparenza è implementato su Linux, macOS e Windows, ma la disponibilità potrebbe variare a seconda delle funzionalità del driver di GPU, gestore grafico, e compositor.

Nota: Questa proprietà non ha effetto se ProjectSettings.display/window/per_pixel_transparency/allowed è impostato su false.


bool unfocusable = false 🔗

Se true, il Window non può essere focalizzato né interagito. Può comunque essere visibile.


bool unresizable = false 🔗

Se true, la finestra non si può ridimensionare.


bool visible = true 🔗

  • void set_visible(value: bool)

  • bool is_visible()

Se true, la finestra è visibile.


bool wrap_controls = false 🔗

  • void set_wrap_controls(value: bool)

  • bool is_wrapping_controls()

Se true, le dimensiono della finestra si aggiorneranno automaticamente quando un nodo figlio viene aggiunto o rimosso, ignorando min_size se le nuove dimensioni sono più grandi.

Se false, è necessario chiamare manualmente child_controls_changed().


Descrizioni dei metodi

Vector2 _get_contents_minimum_size() virtual const 🔗

Metodo virtuale da implementare dall'utente. Sovrascrive il valore restituito da get_contents_minimum_size().


void add_theme_color_override(name: StringName, color: Color) 🔗

Crea una sostituzione locale per un colore di tema con il nome name. Le sostituzioni locali hanno sempre la precedenza quando si recuperano elementi di tema per il controllo. Una sostituzione può essere rimossa con remove_theme_color_override().

Vedi anche get_theme_color() e Control.add_theme_color_override() per ulteriori dettagli.


void add_theme_constant_override(name: StringName, constant: int) 🔗

Crea una sostituzione locale per una costante di tema con il nome name. Le sostituzioni locali hanno sempre la precedenza quando si recuperano elementi del tema per il controllo. Una sostituzione può essere rimossa con remove_theme_constant_override().

Vedi anche get_theme_constant().


void add_theme_font_override(name: StringName, font: Font) 🔗

Crea una sostituzione locale per un Font di tema con il nome name. Le sostituzioni locali hanno sempre la precedenza quando si recuperano elementi del tema per il controllo. Una sostituzione può essere rimossa con remove_theme_font_override().

Vedi anche get_theme_font().


void add_theme_font_size_override(name: StringName, font_size: int) 🔗

Crea una sostituzione locale per una dimensione di Font di tema con il nome name. Le sostituzioni locali hanno sempre la precedenza quando si recuperano elementi del tema per il controllo. Una sostituzione può essere rimossa con remove_theme_font_size_override().

Vedi anche get_theme_font_size().


void add_theme_icon_override(name: StringName, texture: Texture2D) 🔗

Crea una sostituzione locale per un'icona di tema con il nome name. Le sostituzioni locali hanno sempre la precedenza quando si recuperano elementi del tema per il controllo. Una sostituzione può essere rimossa con remove_theme_icon_override().

Vedi anche get_theme_icon().


void add_theme_stylebox_override(name: StringName, stylebox: StyleBox) 🔗

Crea una sostituzione locale per una StyleBox di tema con il nome name. Le sostituzioni locali hanno sempre la precedenza quando si recuperano elementi di tema per il controllo. Una sostituzione può essere rimossa con remove_theme_stylebox_override().

Vedi anche get_theme_stylebox() e Control.add_theme_stylebox_override() per ulteriori dettagli.


void begin_bulk_theme_override() 🔗

Impedisce ai metodi *_theme_*_override di emettere NOTIFICATION_THEME_CHANGED finché non viene chiamato end_bulk_theme_override().


bool can_draw() const 🔗

Restituisce se la finestra è attualmente disegnata sullo schermo.


void child_controls_changed() 🔗

Richiede un aggiornamento delle dimensioni di Window per adattarsi ai nodi Control sottostanti.


void end_bulk_theme_override() 🔗

Termina un aggiornamento di sostituzioni del tema in massa. Vedi begin_bulk_theme_override().


Vector2 get_contents_minimum_size() const 🔗

Restituisce le dimensioni minime combinate dai nodi Control figli della finestra. Usa child_controls_changed() per aggiornarla quando i nodi figli sono cambiati.

Il valore restituito da questo metodo può essere sovrascritto con _get_contents_minimum_size().


bool get_flag(flag: Flags) const 🔗

Restituisce true se il flag è impostato.


Window get_focused_window() static 🔗

Restituisce la finestra focalizzata.


LayoutDirection get_layout_direction() const 🔗

Restituisce la direzione del layout e la direzione di scrittura del testo.


float get_output_max_linear_value() const 🔗

Returns the maximum value for linear color components that can be displayed in this window, regardless of SDR or HDR output. Returns 1.0 if HDR is not enabled or not supported. The output_max_linear_value_changed signal will be emitted whenever this value changes.

This value is used by tonemapping and other Environment effects to ensure that bright colors are presented in the range that can be displayed by this window. When using this maximum linear value in your project, it should only be used to present colors directly to the screen without tonemapping and without influencing lighting, post-processing effects, or surrounding color. The following is an example that produces the brightest purple color that the screen can produce:

func _process(_delta):
    # output_max_linear_value may change often, so do this every frame.
    var max_linear_value = get_window().get_output_max_linear_value()
    # Replace this with your color:
    var original_color = Color.PURPLE
    # Normalize to max_linear_value to produce the brightest color possible,
    # regardless of SDR or HDR output:
    var bright_color = normalize_color(original_color, max_linear_value)


func normalize_color(srgb_color, max_linear_value = 1.0):
    # Color must be linear-encoded to use math operations.
    var linear_color = srgb_color.srgb_to_linear()
    var max_rgb_value = maxf(linear_color.r, maxf(linear_color.g, linear_color.b))
    var brightness_scale = max_linear_value / max_rgb_value
    linear_color *= brightness_scale
    # Undo changes to the alpha channel, which should not be modified.
    linear_color.a = srgb_color.a
    # Convert back to nonlinear sRGB encoding, which is required for Color in
    # Godot unless stated otherwise.
    return linear_color.linear_to_srgb()

Note: You will need to convert sRGB colors to linear before multiplying by this value to get correct results.


Vector2i get_position_with_decorations() const 🔗

Restituisce la posizione della finestra compreso il suo bordo.

Nota: Se visible è false, questo metodo restituisce lo stesso valore di position.


Vector2i get_size_with_decorations() const 🔗

Restituisce le dimensioni della finestra compreso il suo bordo.

Nota: Se visible è false, questo metodo restituisce lo stesso valore di size.


Color get_theme_color(name: StringName, theme_type: StringName = &"") const 🔗

Restituisce un colore dalla prima corrispondenza di Theme nell'albero se quel Theme ha un elemento di colore con il nome name e il tipo theme_type.

Vedi Control.get_theme_color() per ulteriori dettagli.


int get_theme_constant(name: StringName, theme_type: StringName = &"") const 🔗

Restituisce una costante dalla prima corrispondenza di Theme nell'albero se quel Theme ha un elemento di costante con il nome name e il tipo theme_type.

Vedi Control.get_theme_color() per ulteriori dettagli.


float get_theme_default_base_scale() const 🔗

Restituisce il valore di base predefinito dalla prima corrispondenza di Theme nell'albero se quel Theme ha un valore valido per Theme.default_base_scale.

Vedi Control.get_theme_color() per i dettagli.


Font get_theme_default_font() const 🔗

Restituisce il font predefinita dalla prima corrispondenza di Theme nell'albero se quel Theme ha un Theme.default_font valido.

Vedi Control.get_theme_color() per i dettagli.


int get_theme_default_font_size() const 🔗

Restituisce la dimensione del font predefinita dalla prima corrispondenza di Theme nell'albero se quel Theme ha un Theme.default_font_size valido.

Vedi Control.get_theme_color() per i dettagli.


Font get_theme_font(name: StringName, theme_type: StringName = &"") const 🔗

Restituisce un Font dalla prima corrispondenza di Theme nell'albero se quel Theme ha un elemento di font con il nome name e il tipo theme_type.

Vedi Control.get_theme_color() per i dettagli.


int get_theme_font_size(name: StringName, theme_type: StringName = &"") const 🔗

Restituisce una dimensione del Font dalla prima corrispondenza di Theme nell'albero se quel Theme ha un elemento di dimensione del font con il nome name e il tipo theme_type.

Vedi Control.get_theme_color() per i dettagli.


Texture2D get_theme_icon(name: StringName, theme_type: StringName = &"") const 🔗

Restituisce un'icona dalla prima corrispondenza di Theme nell'albero se quel Theme ha un elemento di icona con il nome name e il tipo theme_type.

Vedi Control.get_theme_color() per i dettagli.


StyleBox get_theme_stylebox(name: StringName, theme_type: StringName = &"") const 🔗

Restituisce una StyleBox dalla prima corrispondenza di Theme nell'albero se quel Theme ha un elemento stylebox con il nome name e il tipo theme_type.

Vedi Control.get_theme_color() per i dettagli.


int get_window_id() const 🔗

Restituisce l'ID della finestra.


void grab_focus() 🔗

Rende la finestra focalizzata, consentendogli di ricevere l'input dell'utente.


bool has_focus() const 🔗

Restituisce true se la finestra è focalizzata.


bool has_theme_color(name: StringName, theme_type: StringName = &"") const 🔗

Restituisce true se è presente un Theme nell'albero che ha un elemento di colore con name e theme_type specificati.

Vedi Control.get_theme_color() per i dettagli.


bool has_theme_color_override(name: StringName) const 🔗

Restituisce true se è presente una sostituzione locale per un Color di tema con il nome specificato (name) in questo nodo Control.

Vedi add_theme_color_override().


bool has_theme_constant(name: StringName, theme_type: StringName = &"") const 🔗

Restituisce true se è presente un Theme nell'albero che ha un elemento costante con name e theme_type specificati.

Vedi Control.get_theme_color() per i dettagli.


bool has_theme_constant_override(name: StringName) const 🔗

Restituisce true se è presente una sostituzione locale per una costante di tema con il nome specificato (name) in questo nodo Control.

Vedi add_theme_constant_override().


bool has_theme_font(name: StringName, theme_type: StringName = &"") const 🔗

Restituisce true se è presente un Theme nell'albero che ha un elemento di font con name e theme_type specificati.

Vedi Control.get_theme_color() per i dettagli.


bool has_theme_font_override(name: StringName) const 🔗

Restituisce true se è presente una sostituzione locale per un Font di tema con il nome specificato (name) in questo nodo Control.

Vedi add_theme_font_override().


bool has_theme_font_size(name: StringName, theme_type: StringName = &"") const 🔗

Restituisce true se è presente un Theme nell'albero che ha un elemento di dimensione di font con name e theme_type specificati.

Vedi Control.get_theme_color() per i dettagli.


bool has_theme_font_size_override(name: StringName) const 🔗

Restituisce true se è presente una sostituzione locale per una dimensione di font di tema con il nome specificato (name) in questo nodo Control.

Vedi add_theme_font_size_override().


bool has_theme_icon(name: StringName, theme_type: StringName = &"") const 🔗

Restituisce true se è presente un Theme nell'albero che ha un elemento di icona con name e theme_type specificati.

Vedi Control.get_theme_color() per i dettagli.


bool has_theme_icon_override(name: StringName) const 🔗

Restituisce true se è presente una sostituzione locale per un'icona di tema con il nome specificato (name) in questo nodo Control.

Vedi add_theme_icon_override().


bool has_theme_stylebox(name: StringName, theme_type: StringName = &"") const 🔗

Restituisce true se è presente un Theme nell'albero che ha un elemento stylebox con name e theme_type specificati.

Vedi Control.get_theme_color() per i dettagli.


bool has_theme_stylebox_override(name: StringName) const 🔗

Restituisce true se è presente una sostituzione locale per una StyleBox di tema con il nome specificato (name) in questo nodo Control.

Vedi add_theme_stylebox_override().


void hide() 🔗

Nasconde la finestra. Questo non è lo stesso dello stato minimizzato. Non è possibile interagire con la finestra nascosta e deve essere resa visibile con show().


bool is_embedded() const 🔗

Restituisce true se la finestra è attualmente incorporata in un'altra finestra.


bool is_layout_rtl() const 🔗

Restituisce true se il layout è da destra a sinistra.


bool is_maximize_allowed() const 🔗

Restituisce true se la finestra può essere massimizzata (il pulsante di massimizzazione è abilitato).


bool is_using_font_oversampling() const 🔗

Restituisce true se il sovracampionamento di font è abilitato. Vedi set_use_font_oversampling().


void move_to_center() 🔗

Centers the window in the current screen. If the window is embedded, it is centered in the embedder Viewport instead.


void move_to_foreground() 🔗

Deprecato: Use grab_focus() instead.

Rende la finestra focalizzata, consentendogli di ricevere l'input dell'utente.


void popup(rect: Rect2i = Rect2i(0, 0, 0, 0)) 🔗

Mostra la Window e la rende transitoria (vedi transient). Se rect viene fornito, verrà impostato come dimensioni della Window. Fallisce se viene chiamato sulla finestra principale.

Se ProjectSettings.display/window/subwindows/embed_subwindows è true (modalità finestra singola), le coordinate di rect sono globali e relative all'angolo superiore sinistro della finestra principale (escluse le decorazioni della finestra). Se le coordinate della posizione di rect sono negative, la finestra verrà posizionata all'esterno della finestra principale e potrebbe non essere visibile di conseguenza.

Se ProjectSettings.display/window/subwindows/embed_subwindows è false (modalità multi-finestra), le coordinate di rect sono globali e relative all'angolo superiore sinistro dello schermo che è più a sinistra. Se le coordinate della posizione di rect sono negative, la finestra verrà posizionata nell'angolo superiore sinistro dello schermo.

Nota: rect deve essere in coordinate globali se specificato.


void popup_centered(minsize: Vector2i = Vector2i(0, 0)) 🔗

Fa apparire il Window al centro dello schermo attuale, con dimensioni minime fornite facoltativamente. Se il Window è incorporato, sarà invece incentrato nella Viewport genitore.

Nota: Chiamarlo con il valore predefinito di minsize equivale a chiamarlo con size.


void popup_centered_clamped(minsize: Vector2i = Vector2i(0, 0), fallback_ratio: float = 0.75) 🔗

Fa apparire il Window centrato all'interno del suo Window genitore. fallback_ratio determina la dimensione massima del Window, in relazione al suo genitore.

Nota: Chiamarlo con il valore predefinito di minsize equivale a chiamarlo con size.


void popup_centered_ratio(ratio: float = 0.8) 🔗

Se Window è incorporato, fa apparire il Window centrato all'interno del suo incorporatore e imposta le sue dimensioni come un rapporto (ratio) delle dimensioni dell'incorporatore.

Se Window è una finestra nativa, fa apparire il Window centrato all'interno dello schermo del suo Window genitore e imposta le sue dimensioni come un rapporto (ratio) della dimensione dello schermo.


void popup_exclusive(from_node: Node, rect: Rect2i = Rect2i(0, 0, 0, 0)) 🔗

Tenta di associare come parente questa finestra di dialogo all'ultima finestra esclusiva relativa a from_node, dopodiché chiama popup() su di esso. La finestra di dialogo non deve avere un genitore attuale, altrimenti il metodo fallisce.

Vedi anche set_unparent_when_invisible() e Node.get_last_exclusive_window().


void popup_exclusive_centered(from_node: Node, minsize: Vector2i = Vector2i(0, 0)) 🔗

Tenta di associare come parente questa finestra di dialogo all'ultima finestra esclusiva relativa a from_node, dopodiché chiama popup_centered() su di esso. La finestra di dialogo non deve avere un genitore attuale, altrimenti il metodo fallisce.

Vedi anche set_unparent_when_invisible() e Node.get_last_exclusive_window().


void popup_exclusive_centered_clamped(from_node: Node, minsize: Vector2i = Vector2i(0, 0), fallback_ratio: float = 0.75) 🔗

Tenta di associare come parente questa finestra di dialogo all'ultima finestra esclusiva relativa a from_node, dopodiché chiama popup_centered_clamped() su di esso. La finestra di dialogo non deve avere un genitore attuale, altrimenti il metodo fallisce.

Vedi anche set_unparent_when_invisible() e Node.get_last_exclusive_window().


void popup_exclusive_centered_ratio(from_node: Node, ratio: float = 0.8) 🔗

Tenta di associare come parente questa finestra di dialogo all'ultima finestra esclusiva relativa a from_node, dopodiché chiama popup_centered_ratio() su di esso. La finestra di dialogo non deve avere un genitore attuale, altrimenti il metodo fallisce.

Vedi anche set_unparent_when_invisible() e Node.get_last_exclusive_window().


void popup_exclusive_on_parent(from_node: Node, parent_rect: Rect2i) 🔗

Tenta di associare come parente questa finestra di dialogo all'ultima finestra esclusiva relativa a from_node, dopodiché chiama popup_on_parent() su di esso. La finestra di dialogo non deve avere un genitore attuale, altrimenti il metodo fallisce.

Vedi anche set_unparent_when_invisible() e Node.get_last_exclusive_window().


void popup_on_parent(parent_rect: Rect2i) 🔗

Fa apparire il Window con una posizione spostata dalla posizione del Window genitore. Se il Window è incorporato, ha lo stesso effetto di popup().


void remove_theme_color_override(name: StringName) 🔗

Rimuove una sostituzione locale per un Color di tema, con il nome name, precedentemente aggiunto da add_theme_color_override() o tramite il pannello dell'Ispettore.


void remove_theme_constant_override(name: StringName) 🔗

Rimuove una sostituzione locale per una costante di tema, con il nome name, precedentemente aggiunta da add_theme_constant_override() o tramite il pannello dell'Ispettore.


void remove_theme_font_override(name: StringName) 🔗

Rimuove una sostituzione locale per un Font di tema, con il nome name, precedentemente aggiunto da add_theme_font_override() o tramite il pannello dell'Ispettore.


void remove_theme_font_size_override(name: StringName) 🔗

Rimuove una sostituzione locale per una dimensione di font Font di tema, con il nome name, precedentemente aggiunta da add_theme_font_size_override() o tramite il pannello dell'Ispettore.


void remove_theme_icon_override(name: StringName) 🔗

Rimuove una sostituzione locale per un'icona di tema, con il nome name, precedentemente aggiunta da add_theme_icon_override() o tramite il pannello dell'Ispettore.


void remove_theme_stylebox_override(name: StringName) 🔗

Rimuove una sostituzione locale per uno StyleBox di tema, con il nome name, precedentemente aggiunto da add_theme_stylebox_override() o tramite il pannello dell'Ispettore.


void request_attention() 🔗

Dice al sistema operativo che il Window ha bisogno di attenzione. Questo fa notare la finestra in qualche modo in base al sistema, ad esempio potrebbe lampeggiare sulla barra delle applicazioni.


void reset_size() 🔗

Reimposta le dimensioni alle dimensioni minime, che sono il massimo di min_size e (se wrap_controls è abilitato) get_contents_minimum_size(). Questo equivale a chiamare set_size(Vector2i())) (o qualsiasi dimensione al di sotto del minimo).


void set_flag(flag: Flags, enabled: bool) 🔗

Imposta un flag di finestra specificato.


void set_ime_active(active: bool) 🔗

Se active è true, abilita l'IME (Input Method Editor) nativo del sistema.


void set_ime_position(position: Vector2i) 🔗

Sposta l'IME nella posizione indicata.


void set_layout_direction(direction: LayoutDirection) 🔗

Imposta la direzione del layout e la direzione di scrittura del testo. I layout da destra a sinistra sono necessari per alcune lingue (ad esempio, arabo ed ebraico).


void set_taskbar_progress_state(state: ProgressState) 🔗

Imposta il tipo e lo stato della barra di avanzamento sull'icona della barra delle applicazioni/dock del Window. Vedi ProgressState per i valori possibili e il comportamento di ciascuna modalità.

Nota: Questo metodo è implementato solo su Windows e macOS.


void set_taskbar_progress_value(value: float) 🔗

Crea una barra di avanzamento sull'icona della barra delle applicazioni/dock del Window se non esiste, e imposta l'avanzamento dell'icona.

value rappresenta un valore percentuale relativo, compreso tra 0.0 (minimo) e 1.0 (massimo).

Nota: Questo metodo è implementato solo su Windows e macOS.


void set_unparent_when_invisible(unparent: bool) 🔗

Se unparent è true, la finestra viene automaticamente rimossa dal genitore quando diventa invisibile.

Nota: Assicurarsi di mantenere un riferimento al nodo, altrimenti sarà orfano. È inoltre necessario chiamare manualmente Node.queue_free() per liberare la finestra se non ha un genitore.


void set_use_font_oversampling(enable: bool) 🔗

Abilita il sovracampionamento del font. Questo migliora l'aspetto dei font quando sono ingranditi.


void show() 🔗

Fa apparire il Window. Questo permette di interagire con il Window e non cambia nessuna delle sue proprietà oltre alla visibilità (a differenza di, per esempio, popup()).


void start_drag() 🔗

Avvia un'operazione di trascinamento interattiva sulla finestra, usando la posizione attuale del mouse. Chiama questo metodo quando gestisci un pulsante del mouse premuto per simulare un evento di pressione sulla barra del titolo della finestra. Usando questo metodo, la finestra può partecipare al cambio di spazio, all'affiancamento e ad altre funzionalità di sistema.


void start_resize(edge: WindowResizeEdge) 🔗

Avvia un'operazione di ridimensionamento interattiva sulla finestra, usando la posizione attuale del mouse. Chiama questo metodo quando gestisci un pulsante del mouse premuto per simulare un evento di pressione sul bordo della finestra.


Descrizioni delle proprietà del tema

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

Il colore del testo del titolo.


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

Il colore del contorno del testo del titolo.


int close_h_offset = 18 🔗

Scostamento orizzontale della posizione del pulsante di chiusura, rispetto alla fine della barra del titolo, verso l'inizio della barra del titolo.


int close_v_offset = 24 🔗

Scostamento verticale della posizione del pulsante di chiusura, rispetto alla parte inferiore della barra del titolo, verso la parte superiore della barra del titolo.


int resize_margin = 4 🔗

Definisce il margine esterno a cui il bordo della finestra può essere afferrato con il mouse e ridimensionato.


int title_height = 36 🔗

Altezza della barra del titolo.


int title_outline_size = 0 🔗

La dimensione del contorno del titolo.


Font title_font 🔗

Il font usato per disegnare il titolo.


int title_font_size 🔗

La dimensione del font del titolo.


Texture2D close 🔗

L'icona per il pulsante di chiusura.


Texture2D close_pressed 🔗

L'icona per il pulsante di chiusura quando è premuto.


StyleBox embedded_border 🔗

Lo stile dello sfondo usato quando il Window è incorporato. Si noti che questo viene solo disegnato sotto il contenuto della finestra, escludendo il titolo. Per i bordi adeguati e stile della barra del titolo, è possibile utilizzare le proprietà expand_margin_* di StyleBoxFlat.

Nota: Lo sfondo del contenuto non sarà visibile a meno che non sia abilitato transparent.


StyleBox embedded_unfocused_border 🔗

Lo stile dello sfondo utilizzato quando il Window è incorporato e non focalizzato.