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

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 boxvalidators (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.