:github_url: hide .. Generated automatically by doc/tools/makerst.py in Godot's source tree. .. DO NOT EDIT THIS FILE, but the LineEdit.xml source instead. .. The source is found in doc/classes or modules//doc_classes. .. _class_LineEdit: LineEdit ======== **Inherits:** :ref:`Control` **<** :ref:`CanvasItem` **<** :ref:`Node` **<** :ref:`Object` **Category:** Core Brief Description ----------------- Control that provides single-line string editing. Properties ---------- +------------------------------------------+-----------------------------------------------------------------------------+ | :ref:`Align` | :ref:`align` | +------------------------------------------+-----------------------------------------------------------------------------+ | :ref:`bool` | :ref:`caret_blink` | +------------------------------------------+-----------------------------------------------------------------------------+ | :ref:`float` | :ref:`caret_blink_speed` | +------------------------------------------+-----------------------------------------------------------------------------+ | :ref:`int` | :ref:`caret_position` | +------------------------------------------+-----------------------------------------------------------------------------+ | :ref:`bool` | :ref:`clear_button_enabled` | +------------------------------------------+-----------------------------------------------------------------------------+ | :ref:`bool` | :ref:`context_menu_enabled` | +------------------------------------------+-----------------------------------------------------------------------------+ | :ref:`bool` | :ref:`editable` | +------------------------------------------+-----------------------------------------------------------------------------+ | :ref:`bool` | :ref:`expand_to_text_length` | +------------------------------------------+-----------------------------------------------------------------------------+ | :ref:`FocusMode` | :ref:`focus_mode` | +------------------------------------------+-----------------------------------------------------------------------------+ | :ref:`int` | :ref:`max_length` | +------------------------------------------+-----------------------------------------------------------------------------+ | :ref:`float` | :ref:`placeholder_alpha` | +------------------------------------------+-----------------------------------------------------------------------------+ | :ref:`String` | :ref:`placeholder_text` | +------------------------------------------+-----------------------------------------------------------------------------+ | :ref:`bool` | :ref:`secret` | +------------------------------------------+-----------------------------------------------------------------------------+ | :ref:`String` | :ref:`secret_character` | +------------------------------------------+-----------------------------------------------------------------------------+ | :ref:`String` | :ref:`text` | +------------------------------------------+-----------------------------------------------------------------------------+ Methods ------- +-----------------------------------+-------------------------------------------------------------------------------------------------------------------+ | void | :ref:`append_at_cursor` **(** :ref:`String` text **)** | +-----------------------------------+-------------------------------------------------------------------------------------------------------------------+ | void | :ref:`clear` **(** **)** | +-----------------------------------+-------------------------------------------------------------------------------------------------------------------+ | void | :ref:`deselect` **(** **)** | +-----------------------------------+-------------------------------------------------------------------------------------------------------------------+ | :ref:`PopupMenu` | :ref:`get_menu` **(** **)** const | +-----------------------------------+-------------------------------------------------------------------------------------------------------------------+ | void | :ref:`menu_option` **(** :ref:`int` option **)** | +-----------------------------------+-------------------------------------------------------------------------------------------------------------------+ | void | :ref:`select` **(** :ref:`int` from=0, :ref:`int` to=-1 **)** | +-----------------------------------+-------------------------------------------------------------------------------------------------------------------+ | void | :ref:`select_all` **(** **)** | +-----------------------------------+-------------------------------------------------------------------------------------------------------------------+ Theme Properties ---------------- +---------------------------------+----------------------------+ | :ref:`Texture` | clear | +---------------------------------+----------------------------+ | :ref:`Color` | clear_button_color | +---------------------------------+----------------------------+ | :ref:`Color` | clear_button_color_pressed | +---------------------------------+----------------------------+ | :ref:`Color` | cursor_color | +---------------------------------+----------------------------+ | :ref:`StyleBox` | focus | +---------------------------------+----------------------------+ | :ref:`Font` | font | +---------------------------------+----------------------------+ | :ref:`Color` | font_color | +---------------------------------+----------------------------+ | :ref:`Color` | font_color_selected | +---------------------------------+----------------------------+ | :ref:`int` | minimum_spaces | +---------------------------------+----------------------------+ | :ref:`StyleBox` | normal | +---------------------------------+----------------------------+ | :ref:`StyleBox` | read_only | +---------------------------------+----------------------------+ | :ref:`Color` | selection_color | +---------------------------------+----------------------------+ Signals ------- .. _class_LineEdit_signal_text_changed: - **text_changed** **(** :ref:`String` new_text **)** Emitted when the text changes. ---- .. _class_LineEdit_signal_text_entered: - **text_entered** **(** :ref:`String` new_text **)** Emitted when the user presses ``KEY_ENTER`` on the ``LineEdit``. Enumerations ------------ .. _enum_LineEdit_Align: .. _class_LineEdit_constant_ALIGN_LEFT: .. _class_LineEdit_constant_ALIGN_CENTER: .. _class_LineEdit_constant_ALIGN_RIGHT: .. _class_LineEdit_constant_ALIGN_FILL: enum **Align**: - **ALIGN_LEFT** = **0** --- Aligns the text on the left hand side of the ``LineEdit``. - **ALIGN_CENTER** = **1** --- Centers the text in the middle of the ``LineEdit``. - **ALIGN_RIGHT** = **2** --- Aligns the text on the right hand side of the ``LineEdit``. - **ALIGN_FILL** = **3** --- Stretches whitespaces to fit the ``LineEdit``'s width. ---- .. _enum_LineEdit_MenuItems: .. _class_LineEdit_constant_MENU_CUT: .. _class_LineEdit_constant_MENU_COPY: .. _class_LineEdit_constant_MENU_PASTE: .. _class_LineEdit_constant_MENU_CLEAR: .. _class_LineEdit_constant_MENU_SELECT_ALL: .. _class_LineEdit_constant_MENU_UNDO: .. _class_LineEdit_constant_MENU_REDO: .. _class_LineEdit_constant_MENU_MAX: enum **MenuItems**: - **MENU_CUT** = **0** --- Cuts (copies and clears) the selected text. - **MENU_COPY** = **1** --- Copies the selected text. - **MENU_PASTE** = **2** --- Pastes the clipboard text over the selected text (or at the cursor's position). - **MENU_CLEAR** = **3** --- Erases the whole ``LineEdit`` text. - **MENU_SELECT_ALL** = **4** --- Selects the whole ``LineEdit`` text. - **MENU_UNDO** = **5** --- Undoes the previous action. - **MENU_REDO** = **6** --- Reverse the last undo action. - **MENU_MAX** = **7** --- Represents the size of the :ref:`MenuItems` enum. Description ----------- LineEdit provides a single-line string editor, used for text fields. It features many built-in shortcuts which will always be available: - Ctrl + C: Copy - Ctrl + X: Cut - Ctrl + V or Ctrl + Y: Paste/"yank" - Ctrl + Z: Undo - Ctrl + Shift + Z: Redo - Ctrl + U: Delete text from the cursor position to the beginning of the line - Ctrl + K: Delete text from the cursor position to the end of the line - Ctrl + A: Select all text - Up/Down arrow: Move the cursor to the beginning/end of the line Property Descriptions --------------------- .. _class_LineEdit_property_align: - :ref:`Align` **align** +----------+------------------+ | *Setter* | set_align(value) | +----------+------------------+ | *Getter* | get_align() | +----------+------------------+ Text alignment as defined in the ALIGN\_\* enum. ---- .. _class_LineEdit_property_caret_blink: - :ref:`bool` **caret_blink** +----------+---------------------------------+ | *Setter* | cursor_set_blink_enabled(value) | +----------+---------------------------------+ | *Getter* | cursor_get_blink_enabled() | +----------+---------------------------------+ If ``true``, the caret (visual cursor) blinks. ---- .. _class_LineEdit_property_caret_blink_speed: - :ref:`float` **caret_blink_speed** +----------+-------------------------------+ | *Setter* | cursor_set_blink_speed(value) | +----------+-------------------------------+ | *Getter* | cursor_get_blink_speed() | +----------+-------------------------------+ Duration (in seconds) of a caret's blinking cycle. ---- .. _class_LineEdit_property_caret_position: - :ref:`int` **caret_position** +----------+----------------------------+ | *Setter* | set_cursor_position(value) | +----------+----------------------------+ | *Getter* | get_cursor_position() | +----------+----------------------------+ The cursor's position inside the ``LineEdit``. When set, the text may scroll to accommodate it. ---- .. _class_LineEdit_property_clear_button_enabled: - :ref:`bool` **clear_button_enabled** +----------+---------------------------------+ | *Setter* | set_clear_button_enabled(value) | +----------+---------------------------------+ | *Getter* | is_clear_button_enabled() | +----------+---------------------------------+ If ``true``, the ``LineEdit`` will show a clear button if ``text`` is not empty. ---- .. _class_LineEdit_property_context_menu_enabled: - :ref:`bool` **context_menu_enabled** +----------+---------------------------------+ | *Setter* | set_context_menu_enabled(value) | +----------+---------------------------------+ | *Getter* | is_context_menu_enabled() | +----------+---------------------------------+ If ``true``, the context menu will appear when right clicked. ---- .. _class_LineEdit_property_editable: - :ref:`bool` **editable** +----------+---------------------+ | *Setter* | set_editable(value) | +----------+---------------------+ | *Getter* | is_editable() | +----------+---------------------+ If ``false``, existing text cannot be modified and new text cannot be added. ---- .. _class_LineEdit_property_expand_to_text_length: - :ref:`bool` **expand_to_text_length** +----------+----------------------------------+ | *Setter* | set_expand_to_text_length(value) | +----------+----------------------------------+ | *Getter* | get_expand_to_text_length() | +----------+----------------------------------+ If ``true``, the ``LineEdit`` width will increase to stay longer than the :ref:`text`. It will **not** compress if the :ref:`text` is shortened. ---- .. _class_LineEdit_property_focus_mode: - :ref:`FocusMode` **focus_mode** +----------+-----------------------+ | *Setter* | set_focus_mode(value) | +----------+-----------------------+ | *Getter* | get_focus_mode() | +----------+-----------------------+ Defines how the ``LineEdit`` can grab focus (Keyboard and mouse, only keyboard, or none). See ``enum FocusMode`` in :ref:`Control` for details. ---- .. _class_LineEdit_property_max_length: - :ref:`int` **max_length** +----------+-----------------------+ | *Setter* | set_max_length(value) | +----------+-----------------------+ | *Getter* | get_max_length() | +----------+-----------------------+ Maximum amount of characters that can be entered inside the ``LineEdit``. If ``0``, there is no limit. ---- .. _class_LineEdit_property_placeholder_alpha: - :ref:`float` **placeholder_alpha** +----------+------------------------------+ | *Setter* | set_placeholder_alpha(value) | +----------+------------------------------+ | *Getter* | get_placeholder_alpha() | +----------+------------------------------+ Opacity of the :ref:`placeholder_text`. From ``0`` to ``1``. ---- .. _class_LineEdit_property_placeholder_text: - :ref:`String` **placeholder_text** +----------+------------------------+ | *Setter* | set_placeholder(value) | +----------+------------------------+ | *Getter* | get_placeholder() | +----------+------------------------+ Text shown when the ``LineEdit`` is empty. It is **not** the ``LineEdit``'s default value (see :ref:`text`). ---- .. _class_LineEdit_property_secret: - :ref:`bool` **secret** +----------+-------------------+ | *Setter* | set_secret(value) | +----------+-------------------+ | *Getter* | is_secret() | +----------+-------------------+ If ``true``, every character is replaced with the secret character (see :ref:`secret_character`). ---- .. _class_LineEdit_property_secret_character: - :ref:`String` **secret_character** +----------+-----------------------------+ | *Setter* | set_secret_character(value) | +----------+-----------------------------+ | *Getter* | get_secret_character() | +----------+-----------------------------+ The character to use to mask secret input (defaults to "\*"). Only a single character can be used as the secret character. ---- .. _class_LineEdit_property_text: - :ref:`String` **text** +----------+-----------------+ | *Setter* | set_text(value) | +----------+-----------------+ | *Getter* | get_text() | +----------+-----------------+ String value of the ``LineEdit``. Method Descriptions ------------------- .. _class_LineEdit_method_append_at_cursor: - void **append_at_cursor** **(** :ref:`String` text **)** Adds ``text`` after the cursor. If the resulting value is longer than :ref:`max_length`, nothing happens. ---- .. _class_LineEdit_method_clear: - void **clear** **(** **)** Erases the ``LineEdit`` text. ---- .. _class_LineEdit_method_deselect: - void **deselect** **(** **)** Clears the current selection. ---- .. _class_LineEdit_method_get_menu: - :ref:`PopupMenu` **get_menu** **(** **)** const Returns the :ref:`PopupMenu` of this ``LineEdit``. By default, this menu is displayed when right-clicking on the ``LineEdit``. ---- .. _class_LineEdit_method_menu_option: - void **menu_option** **(** :ref:`int` option **)** Executes a given action as defined in the MENU\_\* enum. ---- .. _class_LineEdit_method_select: - void **select** **(** :ref:`int` from=0, :ref:`int` to=-1 **)** Selects characters inside ``LineEdit`` between ``from`` and ``to``. By default ``from`` is at the beginning and ``to`` at the end. :: text = "Welcome" select() # Welcome select(4) # ome select(2, 5) # lco ---- .. _class_LineEdit_method_select_all: - void **select_all** **(** **)** Selects the whole :ref:`String`.