Text Input#

macOS

GTK

Windows

iOS

Android

Web

y

y

y

y

y

y

The text input widget is a simple input field for user entry of text data.

../../../_images/TextInput.jpeg

Usage#

import toga

input = toga.TextInput(placeholder='enter name here')

Reference#

class toga.widgets.textinput.TextInput(id=None, style=None, factory=None, value=None, placeholder=None, readonly=False, on_change=None, on_gain_focus=None, on_lose_focus=None, validators=None, initial=None)#

A widget get user input.

Parameters:
  • id (str) – An identifier for this widget.

  • style (Style) – An optional style object. If no style is provided then a new one will be created for the widget.

  • value (str) – The initial text for the input.

  • placeholder (str) – If no input is present this text is shown.

  • readonly (bool) – Whether a user can write into the text input, defaults to False.

  • on_change (callable) – Method to be called when text is changed in text box

  • validators (list) – list of validators to run on the value of the text box. Should return None is value is valid and an error message if not.

  • on_change – The handler to invoke when the text changes.

  • on_gain_focus (callable) – Function to execute when get focused.

  • on_lose_focus (callable) – Function to execute when lose focus.

MIN_WIDTH = 100#
add(*children)#

Add the provided widgets as children of this widget.

If a node already has a different parent, it will be moved over. This does nothing if a node already is a child of this node.

Raises ValueError if this widget cannot have children.

Parameters:

children – The widgets to add as children of this widget.

property app#

The App to which this widget belongs.

When setting the app for a widget, all children of this widget will be recursively assigned to the same app.

Raises ValueError if the widget is already associated with another app.

property can_have_children#

Determine if the node can have children.

This does not resolve whether there actually are any children; it only confirms whether children are theoretically allowed.

property children#

The children of this node. This always returns a list, even if the node is a leaf and cannot have children.

Returns:

A list of the children for this widget.

clear()#

Clears the text of the widget.

property enabled#

Is the widget currently enabled? i.e., can the user interact with the widget?

focus()#

Set this widget to have the current input focus.

property id#

The node identifier. This id can be used to target styling directives.

insert(index, child)#

Insert a widget as a child of this widget.

If the node already has a parent, ownership of the widget will be transferred.

Raises ValueError if this node cannot have children.

Parameters:
  • index – The position in the list of children where the new widget should be added.

  • child – The child to insert as a child of this node.

property is_valid#
property on_change#

The handler to invoke when the value changes.

Returns:

The function callable that is called on a content change.

property on_gain_focus#

The handler to invoke when the widget get focus.

Returns:

The function callable that is called on widget focus gain.

property on_lose_focus#

The handler to invoke when the widget lose focus.

Returns:

The function callable that is called on widget focus loss.

property parent#

The parent of this node.

Returns:

The parent of this node. Returns None if this node is the root node.

property placeholder#

The placeholder text.

Returns:

The placeholder text as a str.

property readonly#

Whether a user can write into the text input.

Returns:

True if only read is possible. False if read and write is possible.

refresh()#

Refresh the layout and appearance of the tree this node is contained in.

refresh_sublayouts()#
remove(*children)#

Remove the provided widgets as children of this node.

This does nothing if a given node is not a child of this node.

Raises ValueError if this node is a leaf, and cannot have children.

Parameters:

children – The child nodes to remove.

property root#

The root of the tree containing this node.

Returns:

The root node. Returns self if this node is the root node.

property tab_index#

The position of the widget in the focus chain for the window.

validate()#
property validators#
property value#

The value of the text input field.

Returns:

The current text of the widget as a str.

property window#

The window to which this widget belongs.

When setting the window for a widget, all children of this widget will be recursively assigned to the same window.