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.
Checking the stable version of the documentation...
LineEdit
Eredita: Control < CanvasItem < Node < Object
Un campo di input per testo su una sola riga.
Descrizione
LineEdit fornisce un campo di input per modificare una singola riga di testo.
Quando il controllo LineEdit è focalizzato usando i tasti freccia della tastiera, otterrà solo il focus e non entrerà in modalità di modifica.
Per entrare in modalità di modifica, clicca sul controllo con il mouse, vedi anche keep_editing_on_text_submit.
Per uscire dalla modalità di modifica, premi
ui_text_submitoui_cancel(come predefinito le azioni con Escape).Consulta edit(), unedit(), is_editing() e editing_toggled per maggiori informazioni.
Durante l'inserimento del testo, è possibile inserire caratteri speciali attraverso i codici alt Unicode, OEM o Windows:
Per inserire codici Unicode, tenere premuto Alt e digitare il codice sul tastierino numerico. Ad esempio, per inserire il carattere
á(U+00E1), tenere premuto Alt e digitare +E1 sul tastierino numerico (gli zeri iniziali si possono omettere).Per inserire codici OEM, tenere premuto Alt e digitare il codice sul tastierino numerico. Ad esempio, per inserire il carattere
á(OEM 160), tenere premuto Alt e digitare160sul tastierino numerico.Per inserire i codici Windows, tenere premuto Alt e digitare il codice sul tastierino numerico. Ad esempio, per inserire il carattere
á(Windows 0225), tenere premuto Alt e digitare 0, 2, 2, 5 sul tastierino numerico. Lo zero iniziale qui non si deve omettere, poiché è questo il modo in cui i codici di Windows si distinguono dai codici OEM.
Importante:
Ottenere il focus del LineEdit con
ui_focus_next(predefinito su Tab) oui_focus_prev(predefinito su Maiusc + Tab) o Control.grab_focus() attiva comunque la modalità di modifica (per compatibilità).
LineEdit fornisce un campo di input per modificare una singola riga di testo. Include molte scorciatoie integrate che sono sempre disponibili (Ctrl qui corrisponde a Cmd su macOS):
Ctrl + C: copia
Ctrl + X: taglia
Ctrl + V o Ctrl + Y: incolla/"strappa"
Ctrl + Z: annulla
Ctrl + ~: inverti la direzione di input.
Ctrl + Maiusc + Z: ripeti
Ctrl + U: elimina il testo dalla posizione del cursore all'inizio della riga
Ctrl + K: elimina il testo dalla posizione del cursore alla fine della riga
Ctrl + A: seleziona tutto il testo
Freccia su/Freccia giù: sposta il cursore all'inizio/fine della riga
Su macOS sono disponibili alcune scorciatoie da tastiera aggiuntive:
Cmd + F: uguale a Freccia destra, sposta il cursore di un carattere a destra
Cmd + B: uguale a Freccia sinistra, sposta il cursore di un carattere a sinistra
Cmd + P: uguale a Freccia su, sposta il cursore alla riga precedente
Cmd + N: uguale a Freccia giù, sposta il cursore alla riga successiva
Cmd + D: uguale a Elimina, elimina il carattere sul lato destro del cursore
Cmd + H: uguale a Backspace, elimina il carattere sul lato sinistro del cursore
Cmd + A: uguale a Home, sposta il cursore all'inizio della riga
Cmd + E: uguale a End, sposta il cursore alla fine della riga
Cmd + Freccia sinistra: uguale a Home, sposta il cursore all'inizio della riga
Cmd + Freccia destra: uguale a End, sposta il cursore alla fine della riga
Nota: Le scorciatoie per il movimento del cursore elencate sopra non sono influenzate da shortcut_keys_enabled.
Proprietà
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
focus_mode |
|
|
|
||
|
||
|
||
|
||
|
||
mouse_default_cursor_shape |
|
|
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
Metodi
void |
|
void |
|
void |
clear() |
void |
|
void |
delete_text(from_column: int, to_column: int) |
void |
deselect() |
void |
|
get_menu() const |
|
get_next_composite_character_column(column: int) const |
|
get_previous_composite_character_column(column: int) const |
|
get_scroll_offset() const |
|
get_selection_from_column() const |
|
get_selection_to_column() const |
|
has_ime_text() const |
|
has_redo() const |
|
has_selection() const |
|
has_undo() const |
|
void |
insert_text_at_caret(text: String) |
is_editing() const |
|
is_menu_visible() const |
|
void |
menu_option(option: int) |
void |
|
void |
|
void |
unedit() |
Proprietà del tema
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
Segnali
editing_toggled(toggled_on: bool) 🔗
Emesso quando il LineEdit entra o esce dalla modalità modifica.
text_change_rejected(rejected_substring: String) 🔗
Emesso quando si aggiunge del testo che supera il valore di max_length. Il testo aggiunto viene troncato per adattarsi a max_length e la parte che non è riuscita a adattarsi viene passata come argomento rejected_substring.
text_changed(new_text: String) 🔗
Emesso quando il testo cambia.
text_submitted(new_text: String) 🔗
Emesso quando l'utente preme l'azione ui_text_submit (predefinito: Invio o Kp Invio) mentre LineEdit ha il focus.
Enumerazioni
Taglia (copia e cancella) il testo selezionato.
Copia il testo selezionato.
Incolla il testo negli appunti sul testo selezionato (o nella posizione del cursore).
I caratteri di escape non stampabili sono automaticamente rimossi dagli appunti del sistema operativo tramite String.strip_escapes().
Cancella tutto il testo del LineEdit.
Seleziona tutto il testo del LineEdit.
Annulla l'azione precedente.
Inverte l'ultima azione annullata.
ID del sottomenù "Direzione di scrittura del testo".
Imposta la direzione del testo a ereditata.
Imposta la direzione del testo ad automatico.
Imposta la direzione del testo da sinistra a destra.
Imposta la direzione del testo da destra a sinistra.
Commuta la visualizzazione dei caratteri di controllo.
ID del sottomenù "Inserisci carattere di controllo".
Inserisce il carattere di marcatura da sinistra a destra (LRM).
Inserisce il carattere di marcatura da destra a sinistra (RLM).
Inserisce il carattere di inizio dell'incorporamento da sinistra a destra (LRE).
Inserisce il carattere di inizio dell'incorporamento da destra a sinistra (RLE).
Inserisce il carattere di inizio di sostituzione da sinistra a destra (LRO).
Inserisce il carattere di inizio di sostituzione da destra a sinistra (RLO).
Inserisce il carattere di termine della formattazione della direzione (PDF).
Inserisce il carattere di marcatura di lettera araba (ALM).
Inserisce un carattere di isolamento da sinistra a destra (LRI).
Inserisce un carattere di isolamento da destra a sinistra (RLI).
Inserisce il carattere di primo isolamento forte (FSI).
Inserisce il carattere di isolamento di termine della direzione (PDI).
Inserisce il carattere di unione di larghezza zero (ZWJ).
Inserisce il carattere di non unione di larghezza zero (ZWNJ).
Inserisce il carattere di unione delle parole (WJ).
Inserisce il carattere trattino morbido (SHY).
Apre il selettore di emoji e simboli del sistema.
Rappresenta la dimensione dell'enumerazione MenuItems.
enum VirtualKeyboardType: 🔗
VirtualKeyboardType KEYBOARD_TYPE_DEFAULT = 0
Tastiera virtuale di testo predefinita.
VirtualKeyboardType KEYBOARD_TYPE_MULTILINE = 1
Tastiera virtuale multilinea.
VirtualKeyboardType KEYBOARD_TYPE_NUMBER = 2
Tastierino numerico virtuale, utile per l'inserimento del PIN.
VirtualKeyboardType KEYBOARD_TYPE_NUMBER_DECIMAL = 3
Tastierino numerico virtuale, utile per inserire numeri frazionari.
VirtualKeyboardType KEYBOARD_TYPE_PHONE = 4
Tastiera virtuale per numeri di telefono.
VirtualKeyboardType KEYBOARD_TYPE_EMAIL_ADDRESS = 5
Tastiera virtuale con tasti aggiuntivi per facilitare la digitazione degli indirizzi e-mail.
VirtualKeyboardType KEYBOARD_TYPE_PASSWORD = 6
Tastiera virtuale per immettere una password. Sulla maggior parte delle piattaforme, questo dovrebbe disattivare il completamento automatico e l'autocapitalizzazione.
Nota: Questo non è supportato sul Web. Invece, si comporta in modo identico a KEYBOARD_TYPE_DEFAULT.
VirtualKeyboardType KEYBOARD_TYPE_URL = 7
Tastiera virtuale con tasti aggiuntivi per facilitare la digitazione degli URL.
enum ExpandMode: 🔗
ExpandMode EXPAND_MODE_ORIGINAL_SIZE = 0
Use the original size for the right icon.
ExpandMode EXPAND_MODE_FIT_TO_TEXT = 1
Scale the right icon's size to match the size of the text.
ExpandMode EXPAND_MODE_FIT_TO_LINE_EDIT = 2
Scale the right icon to fit the LineEdit.
Descrizioni delle proprietà
HorizontalAlignment alignment = 0 🔗
void set_horizontal_alignment(value: HorizontalAlignment)
HorizontalAlignment get_horizontal_alignment()
The text's horizontal alignment.
bool backspace_deletes_composite_character_enabled = false 🔗
void set_backspace_deletes_composite_character_enabled(value: bool)
bool is_backspace_deletes_composite_character_enabled()
Se true e caret_mid_grapheme è false, il tasto backspace elimina un intero carattere composto, ad esempio ❤️🩹, anziché eliminare parte del carattere composto.
Se true, fa lampeggiare il cursore.
float caret_blink_interval = 0.65 🔗
L'intervallo con il quale il cursore lampeggia (in secondi).
La posizione della colonna del cursore all'interno del LineEdit. Se impostata, il testo potrebbe scorrere per adattarsi.
bool caret_force_displayed = false 🔗
Se true, il LineEdit mostrerà sempre il cursore di testo, anche se non è in fase di modifica o il focus viene perso.
bool caret_mid_grapheme = false 🔗
Consente lo spostamento del cursore, la selezione e la rimozione dei singoli componenti di un carattere composito.
Nota: Backspace rimuove sempre i singoli componenti di un carattere composito.
bool clear_button_enabled = false 🔗
Se true, il LineEdit mostrerà un pulsante di cancellazione se text non è vuoto, che può essere utilizzato per cancellare rapidamente il testo.
Se true, il menu contestuale apparirà quando si clicca con il pulsante destro del mouse.
bool deselect_on_focus_loss_enabled = true 🔗
Se true, il testo selezionato verrà deselezionato quando si perde il focus.
bool drag_and_drop_selection_enabled = true 🔗
Se true, consente di trascinare e rilasciare il testo selezionato.
bool draw_control_chars = false 🔗
Se true, i caratteri di controllo sono visualizzati.
Se false, non è possibile modificare il testo esistente o aggiungere nuovo testo.
Se true, il menu "Emoji e simboli" è abilitato.
bool expand_to_text_length = false 🔗
Se true, la larghezza del LineEdit aumenterà per rimanere più lunga del text. Non verrà compresso se il text viene accorciato.
Se true, la LineEdit non visualizza decorazioni.
ExpandMode icon_expand_mode = 0 🔗
void set_icon_expand_mode(value: ExpandMode)
ExpandMode get_icon_expand_mode()
Define the scaling behavior of the right_icon.
bool keep_editing_on_text_submit = false 🔗
Se true, il LineEdit non uscirà dalla modalità di modifica quando il testo viene inviato premendo l'azione ui_text_submit (predefinito: Invio o Kp Invio).
Language code used for line-breaking and text shaping algorithms. If left empty, the current locale is used instead.
Numero massimo di caratteri che è possibile inserire nel LineEdit. Se 0, non c'è limite.
Quando è definito un limite, i caratteri che supererebbero max_length vengono troncati. Ciò accade sia per il contenuto di text esistente quando si imposta la lunghezza massima, sia per nuovo testo inserito nel LineEdit, anche tramite copia-incolla.
Se del testo inserito viene troncato, il segnale text_change_rejected viene emesso con la sottostringa troncata come parametro.
text = "Hello world"
max_length = 5
# `text` diventa "Hello".
max_length = 10
text += " goodbye"
# `text` diventa "Hello good".
# `text_change_rejected` viene emesso con "bye" come parametro.
Text = "Hello world";
MaxLength = 5;
// `Text` diventa "Hello".
MaxLength = 10;
Text += " goodbye";
// `Text` diventa "Hello good".
// `text_change_rejected` viene emesso con "bye" come parametro.
bool middle_mouse_paste_enabled = true 🔗
Se false, l'uso del tasto centrale del mouse per incollare gli appunti sarà disabilitato.
Nota: Questo metodo è implementato solo su Linux.
String placeholder_text = "" 🔗
Testo visualizzato quando il LineEdit è vuoto. Non è il valore predefinito del LineEdit (vedi text).
Imposta l'icona che apparirà all'estremità destra di LineEdit se text non è presente, o sempre, se clear_button_enabled è impostato su false.
float right_icon_scale = 1.0 🔗
Scale ratio of the icon when icon_expand_mode is set to EXPAND_MODE_FIT_TO_LINE_EDIT.
Se true, ogni carattere è sostituito con il carattere segreto (vedi secret_character).
String secret_character = "•" 🔗
Il carattere da usare per mascherare l'input segreto. Solo un singolo carattere può essere usato come carattere segreto. Se è più lungo di un carattere, sarà usato solo il primo. Se è vuoto, sarà usato uno spazio.
bool select_all_on_focus = false 🔗
Se true, il LineEdit selezionerà tutto il testo quando ottiene il focus.
bool selecting_enabled = true 🔗
Se false, è impossibile selezionare il testo utilizzando il mouse o la tastiera.
bool shortcut_keys_enabled = true 🔗
Se true, le scorciatoie da tastiera per le voci del menu contestuale sono abilitate, anche se il menu contestuale è disabilitato.
StructuredTextParser structured_text_bidi_override = 0 🔗
void set_structured_text_bidi_override(value: StructuredTextParser)
StructuredTextParser get_structured_text_bidi_override()
Imposta la sostituzione dell'algoritmo BiDi per il testo strutturato.
Array structured_text_bidi_override_options = [] 🔗
void set_structured_text_bidi_override_options(value: Array)
Array get_structured_text_bidi_override_options()
Imposta opzioni aggiuntive per la sostituzione BiDi.
Valore della stringa di LineEdit.
Nota: La modifica del testo tramite questa proprietà non emetterà il segnale text_changed.
TextDirection text_direction = 0 🔗
void set_text_direction(value: TextDirection)
TextDirection get_text_direction()
Direzione di scrittura del testo di base.
bool virtual_keyboard_enabled = true 🔗
Se true, la tastiera virtuale nativa è abilitata sulle piattaforme che la supportano.
bool virtual_keyboard_show_on_focus = true 🔗
Se true, la tastiera virtuale nativa è mostrata dopo eventi di focus sulle piattaforme che la supportano.
VirtualKeyboardType virtual_keyboard_type = 0 🔗
void set_virtual_keyboard_type(value: VirtualKeyboardType)
VirtualKeyboardType get_virtual_keyboard_type()
Specifica il tipo di tastiera virtuale da visualizzare.
Descrizioni dei metodi
void apply_ime() 🔗
Applica il testo dall'Input Method Editor (IME) e chiude l'IME se è aperto.
void cancel_ime() 🔗
Chiude l'Input Method Editor (IME) se è aperto. Qualsiasi testo nell'IME sarà perso.
void clear() 🔗
Cancella il text di LineEdit.
void delete_char_at_caret() 🔗
Elimina un carattere nella posizione attuale del cursore (equivalente a premere Cancella).
void delete_text(from_column: int, to_column: int) 🔗
Elimina una sezione del text che va dalla posizione from_column alla posizione to_column. Entrambi i parametri devono rientrare nella lunghezza del testo.
void deselect() 🔗
Cancella la selezione attuale.
void edit(hide_focus: bool = false) 🔗
Allows entering edit mode whether the LineEdit is focused or not. If hide_focus is true, the focused state will not be shown (see Control.grab_focus()).
See also keep_editing_on_text_submit.
Restituisce il PopupMenu di questo LineEdit. Per impostazione predefinita, questo menu viene visualizzato quando si clicca con il pulsante destro del mouse sul LineEdit.
È possibile aggiungere voci di menu personalizzate o rimuovere quelle esistenti. Assicurarsi che gli ID non siano in conflitto con quelli esistenti (vedi MenuItems). Ad esempio:
func _ready():
var menu = get_menu()
# Rimuovi tutte le voci dopo "Ripeti".
menu.item_count = menu.get_item_index(MENU_REDO) + 1
# Aggiungi voci personalizzate.
menu.add_separator()
menu.add_item("Insert Date", MENU_MAX + 1)
# Connetti il callback.
menu.id_pressed.connect(_on_item_pressed)
func _on_item_pressed(id):
if id == MENU_MAX + 1:
insert_text_at_caret(Time.get_date_string_from_system())
public override void _Ready()
{
var menu = GetMenu();
// Rimuovi tutte le voci dopo "Ripeti".
menu.ItemCount = menu.GetItemIndex(LineEdit.MenuItems.Redo) + 1;
// Aggiungi voci personalizzate.
menu.AddSeparator();
menu.AddItem("Insert Date", LineEdit.MenuItems.Max + 1);
// Aggiungi il gestore dell'evento.
menu.IdPressed += OnItemPressed;
}
public void OnItemPressed(int id)
{
if (id == LineEdit.MenuItems.Max + 1)
{
InsertTextAtCaret(Time.GetDateStringFromSystem());
}
}
Attenzione: Questo è un nodo interno obbligatorio, rimuoverlo e liberarlo potrebbe causare un arresto anomalo. Se desideri nasconderlo o nascondere uno dei suoi figli, usa la loro proprietà Window.visible.
int get_next_composite_character_column(column: int) const 🔗
Restituisce la colonna corretta alla fine di un carattere composto come ❤️🩹 (cuore guarito; Unicode: U+2764 U+FE0F U+200D U+1FA79) che è composto da più di un punto di codice Unicode, se il cursore si trova all'inizio del carattere composto. Restituisce anche la colonna corretta con il cursore a metà grafema e per i caratteri non composti.
Nota: Per verificare la posizione del cursore, utilizza get_next_composite_character_column(get_caret_column())
int get_previous_composite_character_column(column: int) const 🔗
Restituisce la colonna corretta all'inizio di un carattere composto come ❤️🩹 (cuore guarito; Unicode: U+2764 U+FE0F U+200D U+1FA79) che è composto da più di un punto di codice Unicode, se il cursore si trova alla fine del carattere composto. Restituisce anche la colonna corretta con il cursore a metà grafema e per i caratteri non composti.
Nota: Per verificare la posizione del cursore, utilizza get_previous_composite_character_column(get_caret_column())
float get_scroll_offset() const 🔗
Restituisce lo scostamento di scorrimento dovuto a caret_column, come numero di caratteri.
Restituisce il testo all'interno della selezione.
int get_selection_from_column() const 🔗
Restituisce la colonna di inizio della selezione.
int get_selection_to_column() const 🔗
Restituisce la colonna di fine della selezione.
Restituisce true se l'utente ha testo nell'Input Method Editor (IME).
Restituisce true se un'azione "ripeti" è disponibile.
Restituisce true se l'utente ha selezionato del testo.
Restituisce true se un'azione "annulla" è disponibile.
void insert_text_at_caret(text: String) 🔗
Inserisce text al cursore. Se il valore risultante è più lungo di max_length, non succede nulla.
Restituisce se il LineEdit è in fase di modifica.
Restituisce se il menù è visibile. Usa questo invece di get_menu().visible per migliorare le prestazioni (in modo da evitare la creazione del menu).
Esegue l'azione specificata come definito nell'enumerazione MenuItems.
void select(from: int = 0, to: int = -1) 🔗
Seleziona i caratteri all'interno del LineEdit tra from e to. Per impostazione predefinita, from è all'inizio e to alla fine.
text = "Welcome"
select() # Selezionerà "Welcome".
select(4) # Selezionerà "ome".
select(2, 5) # Selezionerà "lco".
Text = "Welcome";
Select(); // Selezionerà "Welcome".
Select(4); // Selezionerà "ome".
Select(2, 5); // Selezionerà "lco".
void select_all() 🔗
Seleziona l'intera String.
void unedit() 🔗
Consente di uscire dalla modalità di modifica mantenendo il focus.
Descrizioni delle proprietà del tema
Color caret_color = Color(0.95, 0.95, 0.95, 1) 🔗
Colore del cursore di testo del LineEdit. Può essere impostato su un colore completamente trasparente per nascondere totalmente il cursore.
Color clear_button_color = Color(0.875, 0.875, 0.875, 1) 🔗
Colore utilizzato come tinta predefinita per il pulsante di cancellazione.
Color clear_button_color_pressed = Color(1, 1, 1, 1) 🔗
Colore utilizzato per il pulsante di cancellazione quando è premuto.
Color font_color = Color(0.875, 0.875, 0.875, 1) 🔗
Colore predefinito del font.
Color font_outline_color = Color(0, 0, 0, 1) 🔗
La tinta del contorno del testo del LineEdit.
Color font_placeholder_color = Color(0.875, 0.875, 0.875, 0.6) 🔗
Colore del font per placeholder_text.
Color font_selected_color = Color(1, 1, 1, 1) 🔗
Colore del font per il testo selezionato (all'interno del rettangolo di selezione).
Color font_uneditable_color = Color(0.875, 0.875, 0.875, 0.5) 🔗
Colore del font quando la modifica è disabilitata.
Color selection_color = Color(0.5, 0.5, 0.5, 1) 🔗
Colore del rettangolo di selezione.
La larghezza del cursore in pixel. È possibile usare valori più grandi per migliorare l'accessibilità, assicurando che il cursore sia facilmente visibile, o per coerenza con una dimensione grande del font.
int minimum_character_width = 4 🔗
Spazio orizzontale minimo per il testo (senza contare il pulsante di cancellazione e i margini del contenuto). Questo valore è misurato in conteggio di caratteri 'M' (cioè questo numero di caratteri 'M' può essere visualizzato senza scorrere).
La dimensione del contorno del testo.
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.
Font usato per il testo.
Dimensione del font per il testo del LineEdit.
La texture per il pulsante di cancellazione. Vedi clear_button_enabled.
Sfondo utilizzato quando il LineEdit ha il focus della GUI. Lo StyleBox di focus è visualizzato sopra lo StyleBox di base, quindi è necessario utilizzare uno StyleBox parzialmente trasparente per garantire che lo StyleBox di base rimanga visibile. Uno StyleBox che rappresenta un contorno o una sottolineatura funziona bene per questo scopo. Per disabilitare l'effetto visivo del focus, assegna una risorsa StyleBoxEmpty. Tieni presente che disattivare l'effetto visivo di focus ridurrà l'usabilità della navigazione tramite tastiera o controller, perciò non è consigliato per motivi di accessibilità.
Sfondo predefinito per il LineEdit.
Sfondo utilizzato quando il LineEdit è in modalità di sola lettura (editable è impostato su false).