Textinput Widget in Kivy (original) (raw)

Last Updated : 9 Oct, 2025

A TextInput is a widget in Kivy that provides an editable text box on the screen. It allows users to enter single-line or multi-line text, supports cursor movement, text selection, clipboard operations and can trigger events like pressing Enter.

This Example shows a single-line input field in the app window.

Python `

from kivy.app import App from kivy.uix.textinput import TextInput

class A(App): def build(self): return TextInput(text='Type here', multiline=False)

if name == 'main': A().run()

`

**Output

TextInputOutput

Output

**Explanation:

Syntax

TextInput(text='', multiline=True, password=False, hint_text=None, font_size=None, size_hint=(1,1))

**Parameters:

**Return: an instance of kivy.uix.textinput.TextInput (a widget to add to layouts).

Examples

**Example 1: This example shows a multi-line input field where the user can type several lines.

Python `

from kivy.app import App from kivy.uix.textinput import TextInput

class MultiLineApp(App): def build(self): return TextInput(hint_text='Type multiple lines here', multiline=True)

if name == 'main': MultiLineApp().run()

`

**Output

MultilineTextInputOutput

Multiline

**Example 2: This example creates a single-line password input that masks typed characters.

Python `

from kivy.app import App from kivy.uix.textinput import TextInput

class PasswordApp(App): def build(self): return TextInput(hint_text='Enter password', password=True, multiline=False)

if name == 'main': PasswordApp().run()

`

**Output

PasswordTextInputOutput

Password