Python Tkinter Entry Widget
When a Python desktop application needs to collect information from a user, the Tkinter Entry widget provides a simple way to create a single-line input field. It is commonly used in forms where users need to enter values such as names, email addresses, passwords, numbers, or other short pieces of information.
The Entry widget is designed specifically for single-line text input. If an application requires a larger area where users can type multiple lines of content, the Tkinter Text widget is more suitable. Entry fields are frequently combined with Labels and Buttons to create login forms, registration screens, search boxes, calculators, and other interactive interfaces.
Tkinter also provides several configuration options and methods for controlling the Entry widget. Developers can change its appearance, control text alignment, mask sensitive information, retrieve entered values, insert text programmatically, and remove selected characters.
Table of Contents

Syntax for Entry Widget
The general syntax for creating an Entry widget is:
w = Entry(parent, options)
Here, parent represents the window or container in which the Entry widget will be placed. The options parameter contains configuration settings that determine how the input field looks and behaves.
For example, these options can be used to change the background color, text font, border style, width, text alignment, selection color, and password display behavior.
Key Options in Tkinter Entry Widget
The Entry widget supports several useful options for customizing the input field. The following table describes the important options.
| Option | Description |
|---|---|
bg | Controls the background color of the Entry field. |
bd | Specifies the width of the widget border in pixels. |
cursor | Determines the mouse pointer style displayed when hovering over the Entry widget. |
exportselection | Controls whether selected text is exported to the clipboard. Setting it to 0 prevents automatic exporting. |
fg | Sets the color of the text entered into the widget. |
font | Defines the font style and size used for the input text. |
highlightbackground | Specifies the highlight color when the Entry widget does not have focus. |
highlightcolor | Defines the highlight color shown when the Entry widget receives focus. |
highlightthickness | Controls the thickness of the focus highlight border. |
insertbackground | Sets the background color of the text insertion cursor. |
insertborderwidth | Determines the width of the three-dimensional border around the insertion cursor. |
insertontime | Specifies how long the insertion cursor remains visible during its blinking cycle. |
justify | Controls the alignment of text within the Entry field using left, right, or center alignment. |
relief | Defines the visual style of the widget border. The default value is FLAT. |
selectbackground | Sets the background color displayed behind selected text. |
show | Replaces entered characters with another character, such as *, which is useful for password fields. |
textvariable | Connects the Entry widget with a Tkinter StringVar object. |
width | Controls the width of the Entry widget. |
xscrollcommand | Connects the Entry widget with a horizontal scrollbar. |
Example: Basic Tkinter Entry Widget
The following program demonstrates a basic form containing three input fields. Labels identify the fields, while Entry widgets provide areas where the user can enter information.
from tkinter import *
top = Tk()
top.geometry("400x250")
Label(top, text="Name").place(x=30, y=50)
Label(top, text="Email").place(x=30, y=90)
Label(top, text="Password").place(x=30, y=130)
Button(
top,
text="Submit",
activebackground="pink",
activeforeground="blue"
).place(x=30, y=170)
Entry(top).place(x=80, y=50)
Entry(top).place(x=80, y=90)
Entry(top).place(x=95, y=130)
top.mainloop()
Output
Running this program opens a Tkinter window containing three labeled input areas for Name, Email, and Password. A Submit button is also displayed below the fields.
This example demonstrates how Entry widgets can be combined with Labels to build a basic data-entry form. The place() method is used to position each component at a particular location within the window.
Tkinter Entry Widget Methods
In addition to configuration options, Tkinter provides methods that allow developers to work with the text stored inside an Entry field. These methods can be used to retrieve, insert, select, or remove characters.
| Method | Description |
|---|---|
delete(first, last=None) | Removes characters from the Entry widget within the specified range. |
get() | Returns the text currently contained in the Entry field. |
icursor(index) | Moves the text insertion cursor to the specified position. |
insert(index, s) | Adds the specified text at a particular position inside the Entry field. |
select_clear() | Removes the current text selection from the Entry widget. |
select_range(start, end) | Selects characters between the specified starting and ending positions. |
xview(index) | Controls the horizontal view of the Entry widget and can be used with horizontal scrolling. |
Example: Simple Calculator Using Tkinter Entry Widget
The Entry widget can also be used to collect numerical values from users. The following example creates a small calculator that accepts two values and calculates their sum.
import tkinter as tk
from functools import partial
def call_result(label_result, n1, n2):
try:
result = int(n1.get()) + int(n2.get())
label_result.config(text="Result = %d" % result)
except ValueError:
label_result.config(text="Invalid Input")
root = tk.Tk()
root.geometry('400x200')
root.title('Calculator')
number1 = tk.StringVar()
number2 = tk.StringVar()
tk.Label(root, text="A").grid(row=1, column=0)
tk.Label(root, text="B").grid(row=2, column=0)
labelResult = tk.Label(root)
labelResult.grid(row=7, column=2)
tk.Entry(root, textvariable=number1).grid(row=1, column=2)
tk.Entry(root, textvariable=number2).grid(row=2, column=2)
tk.Button(
root,
text="Calculate",
command=partial(
call_result,
labelResult,
number1,
number2
)
).grid(row=3, column=0)
root.mainloop()
How the Calculator Example Works
Two StringVar objects are created to store the values entered into the two Entry fields. When the user clicks the Calculate button, the call_result() function retrieves both values using the get() method.
The values are converted to integers and added together. The calculated result is then displayed through the result Label. If the entered values cannot be converted into integers, the except block displays Invalid Input instead.
Output
The program displays a simple calculator interface containing two input fields labeled A and B. After entering two numbers and pressing Calculate, the sum is shown in the result area.
Complete Advance AI Topics: Click Here
SQL Tutorial: Click Here
YT:- DecodeIT
Frequently Asked Questions
1. What is the Tkinter Entry widget?
The Entry widget is used to collect single-line text input from users in Python Tkinter applications.
2. How do I get text from an Entry widget?
The get() method returns the current contents of an Entry field.
3. How can I set default text in an Entry widget?
The insert() method can be used to place initial text into an Entry field at a specified position.
4. How can I create a password field in Tkinter?
The show option can be used to hide the entered characters. For example, show="*" displays asterisks instead of the actual characters.
5. Can Tkinter Entry accept only numbers?
The Entry widget itself accepts text, but validation techniques can be used to restrict the input according to the application’s requirements.
6. Can an Entry widget be connected to a scrollbar?
Yes. The xscrollcommand option can be used when horizontal scrolling is required for Entry content.
Conclusion
The Python Tkinter Entry widget provides a straightforward way to collect single-line information from users. It is commonly used in forms, authentication screens, calculators, search interfaces, and many other desktop applications.
Its configuration options provide control over appearance, alignment, text visibility, focus behavior, colors, and dimensions. At the same time, methods such as get(), insert(), delete(), and select_range() allow developers to work directly with the entered content.
Once the Entry widget is combined with Labels, Buttons, variables, and other Tkinter components, it becomes possible to create useful and interactive Python GUI applications that can collect and process user information efficiently.
Keywords: Python Tkinter Entry Widget, python tkinter entry widget example, Python Tkinter Entry Widget,python tkinter entry widget download, tkinter entry widget documentation, tkinter entry example, tkinter entry set text, tkinter entry only numbers, tkinter entry default value, tkinter entry get, python tkinter entry widget default text, python tkinter entry widget options, python tkinter entry widget focus, python tkinter entry widget events, python tkinter entry widget width,Python Tkinter Entry Widget,Python Tkinter Entry Widget