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
Hérite de : Control < CanvasItem < Node < Object
Un champ de saisie pour du texte sur une seule ligne.
Description
LineEdit fournit un champ de saisie pour l'édition d'une seule ligne de texte.
Lorsque le contrôle LineEdit est ciblé à l'aide des touches directionnelles du clavier, il gagnera seulement le focus et n'entrera pas en mode édition.
Pour entrer dans le mode édition, cliquez sur le contrôle avec la souris, voir aussi keep_editing_on_text_submit.
Pour quitter le mode édition, appuyez sur les actions
ui_text_submitouui_cancel(par défaut Escape).Vérifiez edit(), unedit(), is_editing(), et editing_toggled pour plus d'informations.
En entrant le texte, il est possible d'insérer des caractères spéciaux à l'aide de codes Alt Unicode, OEM ou Windows :
Pour entrer les codes Unicode, maintenez Alt et tapez le point de code sur le pavé numérique. Par exemple, pour saisir le caractère
á(U+00E1), maintenez Alt et tapez +E1 sur le pavé numérique (les zéros du début peuvent être omis).Pour entrer les codes OEM, maintenez Alt et tapez le code sur le pavé numérique. Par exemple, pour saisir le caractère
á(OEM 160), maintenez Alt et tapez160sur le pavé numérique.Pour entrer les codes Windows, maintenez Alt et tapez le code sur le pavé numérique. Par exemple, pour saisir le caractère
á(Windows 0225), maintenez Alt et tapez 0, 2, 2, 5 sur le pavé numérique. Les zéros du début ne doivent ici pas être omis, car c'est la façon dont les points de code Windows se distinguent des points de code OEM.
Important :
Le focus sur LineEdit avec
ui_focus_next(par défaut Tab) ouui_focus_prev(par défaut Shift + Tab) ou Control.grab_focus() entre toujours en mode édition (pour la compatibilité).
LineEdit dispose de nombreux raccourcis intégrés qui sont toujours disponibles (Ctrl ici est lié à Cmd sur macOS) :
Ctrl + C : Copier
Ctrl + X : Couper
Ctrl + V ou Ctrl + Y : Coller/"yank"
Ctrl + Z : Annuler
Ctrl + ~ : Inverser la direction d'entrée.
Ctrl + Shift + Z : Refaire
Ctrl + U : Supprimer le texte depuis le curseur jusqu'au début de la ligne
Ctrl + K : Supprimer le texte depuis le curseur jusqu'à la fin de la ligne
Ctrl + A : Sélectionner tout le texte
Flèche haut/Flèche bas : Déplace le curseur au début/fin de la ligne
Sous macOS, d'autres raccourcis sont disponibles :
Cmd + F : Comme avec Flèche droite, déplace le curseur d'un caractère vers la droite
Cmd + B : Comme avec Flèche gauche, déplace le curseur d'un caractère vers la gauche
Cmd + P : Comme avec Flèche haut, déplace le curseur à la ligne précédente
Cmd + N : Comme avec Flèche bas, déplace le curseur à la ligne suivante
Cmd + D : Comme avec Suppr, supprime le caractère à droite du curseur
Cmd + H : Comme avec Retour arrière, supprime le caractère à gauche du curseur
Cmd + A : Comme avec Home, déplace le curseur au début de la ligne
Cmd + E : Comme avec End, déplace le curseur à la fin de la ligne
Cmd + Flèche gauche : Comme avec Home, déplace le curseur au début de la ligne
Cmd + Flèche droite : Comme avec End, déplace le curseur à la fin de la ligne
Note : Les raccourcis de mouvements de curseur énumérés ci-dessus ne sont pas affectés par shortcut_keys_enabled.
Propriétés
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
focus_mode |
|
|
|
||
|
||
|
||
|
||
|
||
mouse_default_cursor_shape |
|
|
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
Méthodes
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() |
Propriétés du thème
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
Signaux
editing_toggled(toggled_on: bool) 🔗
Émis lorsque le LineEdit rentre ou sort du mode édition.
text_change_rejected(rejected_substring: String) 🔗
Émis lors de l'ajout de texte qui dépasse max_length. Le texte ajouté est tronqué pour s'adapter à max_length, et la partie qui ne pouvait pas rentrer est passée dans l'argument rejected_substring.
text_changed(new_text: String) 🔗
Émis lorsque le texte change.
text_submitted(new_text: String) 🔗
Émis lorsque l'utilisateur appuie sur l'action ui_text_submit (par défaut : Entée or Entrée pavé numérique) lorsque le LineEdit a le focus.
Énumérations
Coupe (copie puis efface) le texte sélectionné.
Copie le texte sélectionné.
Colle le texte du presse-papiers sur le texte sélectionné (ou à la position du caret).
Les caractères d'échappement non imprimables sont automatiquement retirés du presse-papiers du système via String.strip_escapes().
Efface l’ensemble du texte LineEdit.
Sélectionne l'ensemble du texte LineEdit.
Annule l’action précédente.
Inverser la dernière action d'annulation.
ID du sous-menu "Direction d'écriture du texte".
Definit la direction du texte à "hérité".
Définit la direction du texte à "automatique".
Définit la direction du texte à "gauche à droite".
Définit la direction du texte à "droite à gauche".
Active/désactive l'affichage des caractères de contrôle.
ID du sous-menu "Insérer caractère de contrôle".
Insère un caractère marque gauche-à-droite (Left-to-Right Mark).
Insère un caractère marque droite-à-gauche (Right-to-Left Mark).
Insère un caractère enchâssement gauche-à-droite (Left-to-Right Embedding).
Insère un caractère enchâssement droite-à-gauche (Right-to-Left Embedding).
Insère un caractère forçage gauche-à-droite (Left-to-Right Override).
Insère un caractère forçage droite-à-gauche (Right-to-Left Override).
Insère un caractère dépilement de formatage conditionnel (Pop Direction Formatting).
Insère un caractère marque de lettre arabe (Arabic Letter Mark).
Insère un caractère isolat de gauche-à-droite (Left-to-Right Isolate).
Insère un caractère isolat de droite-à-gauche (Right-to-Left Isolate).
Insère un caractère isolat à direction indéterminée (First Strong Isolate).
Insère un caractère dépilement d'isolat directionnel (Pop Direction Isolate).
Ajoute un caractère liant sans chasse (Zero Width Joiner).
Insère un caractère antiliant sans chasse (Zero Width Non-Joiner).
Insère un caractère gluon de mots (Word Joiner).
Insère un caractère trait d’union conditionnel (Soft HYphen).
Ouvre le sélecteur d'émojis et de symboles du système.
Représente la taille de l'énumération MenuItems.
enum VirtualKeyboardType: 🔗
VirtualKeyboardType KEYBOARD_TYPE_DEFAULT = 0
Clavier virtuel de texte par défaut.
VirtualKeyboardType KEYBOARD_TYPE_MULTILINE = 1
Clavier virtuel multiligne.
VirtualKeyboardType KEYBOARD_TYPE_NUMBER = 2
Pavé numérique virtuel, utile pour l'entrée d'un PIN.
VirtualKeyboardType KEYBOARD_TYPE_NUMBER_DECIMAL = 3
Pavé numérique virtuel, utile pour entrer des nombres fractionnels.
VirtualKeyboardType KEYBOARD_TYPE_PHONE = 4
Pavé numérique de numéro de téléphone virtuel.
VirtualKeyboardType KEYBOARD_TYPE_EMAIL_ADDRESS = 5
Clavier virtuel avec des touches supplémentaires pour aider à taper les adresses e-mail.
VirtualKeyboardType KEYBOARD_TYPE_PASSWORD = 6
Clavier virtuel pour entrer un mot de passe. Sur la plupart des plateformes, cela devrait désactiver l'autocomplétion et l'autocapitalisation.
Note : Ceci n'est pas supporté sur le Web. À la place, ceci se comporte de manière identique à KEYBOARD_TYPE_DEFAULT.
VirtualKeyboardType KEYBOARD_TYPE_URL = 7
Clavier virtuel avec des touches supplémentaires pour aider à taper des URLs.
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.
Descriptions des propriétés
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()
Si true et caret_mid_grapheme vaut false, le retour arrière supprime un caractère composite tel que ❤️🩹 en entier, au lieu de ne supprimer qu'une partie du caractère composite.
Si true, fait clignoter le curseur.
float caret_blink_interval = 0.65 🔗
L'intervalle auquel le curseur clignote (en secondes).
The caret's column position inside the LineEdit. When set, the text may scroll to accommodate it.
bool caret_force_displayed = false 🔗
Si true, le LineEdit affichera toujours le curseur, même s'il n'est pas en cours d'édition ou si le focus est perdu.
bool caret_mid_grapheme = false 🔗
Permet de déplacer le curseur, de sélectionner et de supprimer les composantes individuelles de caractères composites.
Note : Retour arrière supprime toujours les composantes individuelles de caractères composites.
bool clear_button_enabled = false 🔗
Si true, le LineEdit affichera un bouton effacer si le text n'est pas vide, ce qui permet d'effacer rapidement le texte.
Si true, le menu contextuel apparaitra au clic-droit.
bool deselect_on_focus_loss_enabled = true 🔗
Si true, le texte actuellement sélectionné sera désélectionné quand le focus sera perdu.
bool drag_and_drop_selection_enabled = true 🔗
Si true, permet le déposé-glissé du texte sélectionné.
bool draw_control_chars = false 🔗
Si true, les caractères de contrôle sont affichés.
Si false, le texte existant ne peut être modifié et du nouveau texte ne peut être ajouté.
Si true, le menu "Émojis et Symboles" est activé.
bool expand_to_text_length = false 🔗
Si true, la largeur du LineEdit augmentera pour rester plus longue que le texte text. Elle ne se compressera pas si text est raccourci.
Si true, le LineEdit n'affiche pas de décoration.
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 🔗
Si true, le LineEdit ne sortira pas du mode édition lorsque le texte est soumis en appuyant sur l'action ui_text_submit (par défaut : Entrée ou Entrée pavé numérique).
Code de langue utilisé pour les algorithmes de retour à la ligne et de "text shaping". Si laissé vide, la langue actuelle est utilisée à la place.
La quantité maximale de caractères qui peuvent être entrés dans le LineEdit. Aucune limite si 0.
Quand une limite est définie, les caractères qui dépassent les max_length premiers caractères sont tronqués. Cela s'applique au contenu du text existant lorsque la longueur maximale est définie ou quand un nouveau texte est inséré dans le LineEdit, en étant par exemple collé.
Si du texte est tronqué, le signal text_change_rejected est émis avec la sous-chaîne tronquée en paramètre :
text = "Salut le monde"
max_length = 5
# `text` est tronqué à "Salut".
max_length = 11
text += " l'univers"
# `text` devient "Salut l'uni".
# `text_change_rejected` est émis avec "vers" passé en paramètre.
Text = "Salut le monde";
MaxLength = 5;
// `Text` est tronqué à "Salut".
MaxLength = 11;
Text += " l'univers"
// `Text` devient "Salut l'uni".
// `text_change_rejected` est émis avec "vers" passé en paramètre.
bool middle_mouse_paste_enabled = true 🔗
Si false, utiliser le bouton du milieu de la souris pour coller le presse-papiers sera désactivé.
Note : Cette méthode n'est implémentée que sur Linux.
String placeholder_text = "" 🔗
Texte affiché lorsque le LineEdit est vide. Ce n'est pas la valeur par défaut du LineEdit (voir text).
Définit l'icône qui apparaîtra à l'extrémité droite du LineEdit s'il n'y a pas de texte text, ou toujours, si clear_button_enabled est défini à 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.
Si true, chaque caractère est remplacé par le caractère secret (voir secret_character).
String secret_character = "•" 🔗
Le caractère à utiliser pour masquer l'entrée secrète. Seul un unique caractère peut être utilisé comme caractère secret. S'il est plus long qu'un caractère, seul le premier sera utilisé. S'il est vide, un espace sera utilisé à la place.
bool select_all_on_focus = false 🔗
Si true, le LineEdit sélectionnera l'ensemble du texte lorsque celui-ci obtiendra le focus.
bool selecting_enabled = true 🔗
Si false, il n'est pas possible de sélectionner le texte avec la souris ou le clavier.
bool shortcut_keys_enabled = true 🔗
Si true, les touches de raccourci pour les éléments de menu contextuel sont activées, même si le menu contextuel est désactivé.
StructuredTextParser structured_text_bidi_override = 0 🔗
void set_structured_text_bidi_override(value: StructuredTextParser)
StructuredTextParser get_structured_text_bidi_override()
Définit la redéfinition de l'algorithme BiDi pour le texte structuré.
Array structured_text_bidi_override_options = [] 🔗
void set_structured_text_bidi_override_options(value: Array)
Array get_structured_text_bidi_override_options()
Définit des options supplémentaires pour la redéfinition BiDi.
Valeur de la chaîne de caractères du LineEdit.
Note : Changer le texte en utilisant cette propriété n'émettra pas le signal text_changed.
TextDirection text_direction = 0 🔗
void set_text_direction(value: TextDirection)
TextDirection get_text_direction()
Direction d'écriture du texte de base.
bool virtual_keyboard_enabled = true 🔗
Si true, le clavier virtuel natif est activé sur les plateformes qui le supportent.
bool virtual_keyboard_show_on_focus = true 🔗
Si true, le clavier virtuel natif est affiché lors des évènements de focus sur les plateformes qui le supportent.
VirtualKeyboardType virtual_keyboard_type = 0 🔗
void set_virtual_keyboard_type(value: VirtualKeyboardType)
VirtualKeyboardType get_virtual_keyboard_type()
Spécifie le type de clavier virtuel à afficher.
Descriptions des méthodes
void apply_ime() 🔗
Applique le texte de l'éditeur de méthode de saisie (Input Method Editor) et ferme l'IME s'il est ouvert.
void cancel_ime() 🔗
Ferme l'éditeur de méthode de saisie (Input Method Editor) s'il est ouvert. Tout texte dans l'IME sera perdu.
void clear() 🔗
Efface le text du LineEdit.
void delete_char_at_caret() 🔗
Supprime un caractère à la position actuelle du curseur (équivalent à appuyer sur Suppr).
void delete_text(from_column: int, to_column: int) 🔗
Supprime une section du text allant de la position from_column à to_column. Les deux paramètres devraient être dans la longueur du texte.
void deselect() 🔗
Efface la sélection actuelle.
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.
Renvoie le PopupMenu de ce LineEdit. Par défaut, ce menu s'affiche lors d'un clic droit sur le LineEdit.
Vous pouvez ajouter des éléments de menu personnalisés ou supprimer les éléments standards. Assurez-vous que vos identifiants ne sont pas en conflit avec les identifiants standards (voir MenuItems). Par exemple :
func _ready():
var menu = get_menu()
# Retirer tous les éléments après "Redo".
menu.item_count = menu.get_item_index(MENU_REDO) + 1
# Ajouter des éléments personnalisés.
menu.add_separator()
menu.add_item("Insérer Date", MENU_MAX + 1)
# Connecter le callback.
menu.id_pressed.connect(_lorsque_element_appuye)
func _lorsque_element_appuye(id):
if id == MENU_MAX + 1:
insert_text_at_caret(Time.get_date_string_from_system())
public override void _Ready()
{
var menu = GetMenu();
// Retirer tous les éléments après "Redo".
menu.ItemCount = menu.GetItemIndex(LineEdit.MenuItems.Redo) + 1;
// Ajouter des éléments personnalisés.
menu.AddSeparator();
menu.AddItem("Insérer Date", LineEdit.MenuItems.Max + 1);
// Ajouter gestionnaire d'évènement.
menu.IdPressed += LorsqueElementAppuye;
}
public void LorsqueElementAppuye(int id)
{
if (id == LineEdit.MenuItems.Max + 1)
{
InsertTextAtCaret(Time.GetDateStringFromSystem());
}
}
Avertissement : Il s'agit d'un nœud interne nécessaire, le retirer et le libérer peut causer un plantage. Si vous voulez le cacher lui ou l'un de ses enfants, utilisez leur propriété Window.visible.
int get_next_composite_character_column(column: int) const 🔗
Renvoie la colonne correcte à la fin d'un caractère composite comme ❤️🩹 (cœur raccommodé; Unicode : U+2764 U+FE0F U+200D U+1FA79) qui est composé de plus d'un point de code Unicode, si le curseur est au début du caractère composite. Renvoie également la colonne correcte avec le curseur au milieu du graphème et pour les caractères non-composites.
Note : Pour vérifier à l'emplacement du curseur, utilisez get_next_composite_character_column(get_caret_column())
int get_previous_composite_character_column(column: int) const 🔗
Renvoie la colonne correcte au début d'un caractère composite comme ❤️🩹 (cœur raccommodé; Unicode : U+2764 U+FE0F U+200D U+1FA79) qui est composé de plus d'un point de code Unicode, si le curseur est à ma fin du caractère composite. Renvoie également la colonne correcte avec le curseur au milieu du graphème et pour les caractères non-composites.
Note : Pour vérifier à l'emplacement du curseur, utilisez get_previous_composite_character_column(get_caret_column())
float get_scroll_offset() const 🔗
Returns the scroll offset due to caret_column, as a number of characters.
Renvoie le texte de la sélection.
int get_selection_from_column() const 🔗
Renvoie la colonne de début de la sélection.
int get_selection_to_column() const 🔗
Renvoie la colonne de fin de la sélection.
Renvoie true si l'utilisateur a du texte dans l'éditeur de méthode de saisie (Input Method Editor).
Renvoie true si une action « refaire » (redo) est disponible.
Renvoie true si l'utilisateur a sélectionné du texte.
Renvoie true si une action « annuler » (undo) est disponible.
void insert_text_at_caret(text: String) 🔗
Ajoute text après le curseur. Si le résultat est plus long que max_length, rien ne se passe.
Renvoie si le LineEdit est en cours d'édition.
Renvoie si le menu est visible. Utilisez ceci au lieu de get_menu().visible pour améliorer les performances (pour éviter la création du menu).
Exécute l'action donnée comme définit par l'énumération MenuItems.
void select(from: int = 0, to: int = -1) 🔗
Sélectionne les caractères à l'intérieur du LineEdit entre from et to. Par défaut, from est au début et to à la fin.
text = "Bienvenue"
select() # Sélectionnera "Bienvenue".
select(5) # Sélectionnera "venue".
select(2, 7) # Sélectionnera "enven".
Text = "Bienvenue";
Select(); // Sélectionnera "Bienvenue".
Select(4); // Sélectionnera "venue".
Select(2, 5); // Sélectionnera "enven".
void select_all() 🔗
Sélectionne l’ensemble String.
void unedit() 🔗
Permet de quitter le mode édition tout en gardant le focus.
Descriptions des propriétés du thème
Color caret_color = Color(0.95, 0.95, 0.95, 1) 🔗
Couleur du caret du LineEdit (curseur du texte). Cela peut être défini à une couleur entièrement transparente pour cacher le caret entièrement.
Color clear_button_color = Color(0.875, 0.875, 0.875, 1) 🔗
La couleur utilisée pour la teinte par défaut pour le bouton effacer.
Color clear_button_color_pressed = Color(1, 1, 1, 1) 🔗
La couleur utilisée pour le bouton effacer quand il est appuyé.
Color font_color = Color(0.875, 0.875, 0.875, 1) 🔗
Couleur de police par défaut.
Color font_outline_color = Color(0, 0, 0, 1) 🔗
La teinte du contour du texte du LineEdit.
Color font_placeholder_color = Color(0.875, 0.875, 0.875, 0.6) 🔗
Couleur de police pour placeholder_text.
Color font_selected_color = Color(1, 1, 1, 1) 🔗
La couleur de la police du texte sélectionné (à l'intérieur du rectangle de sélection).
Color font_uneditable_color = Color(0.875, 0.875, 0.875, 0.5) 🔗
La couleur de police quand l'édition est désactivée.
Color selection_color = Color(0.5, 0.5, 0.5, 1) 🔗
La couleur du rectangle de sélection.
La largeur du curseur en pixels. De plus grandes valeurs peuvent être utilisées pour améliorer l'accessibilité en veillant à ce que le caret soit facilement visible, ou pour assurer la cohérence avec une grande taille de police.
int minimum_character_width = 4 🔗
Espace horizontal minimum pour le texte (sans compter le bouton effacer et les marges de contenu). Cette valeur est mesurée en nombre de caractères 'M' (c.-à-d. ce nombre de caractères 'M' peut être affiché sans défilement).
La taille du contour du texte.
Note : Si vous utilisez une police avec FontFile.multichannel_signed_distance_field activé, sa propriété FontFile.msdf_pixel_range doit être définie à au moins deux fois la valeur de outline_size pour que le rendu des contours soit correct. Sinon, le contour peut sembler coupé plus tôt que prévu.
Police utilisée pour le texte.
Taille de police du texte de LineEdit.
La texture pour le bouton effacer. Voir clear_button_enabled.
Arrière-plan utilisé lorsque le LineEdit a le focus de l'interface graphique. La StyleBox focus est affichée par-dessus la StyleBox de base, donc une StyleBox partiellement transparente devrait être utilisée pour assurer que la StyleBox de base reste visible. Une StyleBox qui représente un contour ou un sous-lignement fonctionne bien à cette fin. Pour désactiver l'effet visuel de focus, assignez une ressource StyleBoxEmpty. Notez que la désactivation de l'effet visuel de focus va nuire à l'utilisabilité de navigation clavier/contrôleur, ce qui n'est donc pas recommandé pour des raisons d'accessibilité.
Arrière-plan par défaut pour le LineEdit.
Arrière-plan utilisé lorsque le LineEdit est en mode lecture seule (editable est défini à false).