LAST UPDATED: AUGUST 20, 2020
Python Tkinter Entry Widget
In this tutorial, we will cover the entry widget of Tkinter in Python with its various options, and with the help of Few Examples, we will understand the concept in detail.
If you need to get a little bit of text from a user, like a name or an email address or a contact number then use an Entry widget.
-
The Entry widget is mainly used to display a small text box that the user can type some text into.
-
There are the number of options available to change the styling of the Entry Widget.
-
It is important to note that the Entry widget is only used to get a single-line text from the user because in the case of multiline text the text widget will be used.
-
This widget is mainly used to accept text strings from the user.
Tkinter Entry Widget
The syntax of the entry widget is given below:
w = Entry(master, option=value)
In the above syntax, the master parameter denotes the parent window. You can use many options to change the styling of the entry widget and these options are written as comma-separated.
Tkinter Entry Widget Options:
Various options used with the entry widget are given below:
Option Name |
Description |
bg |
This option is used for the background color of the widget. |
bd |
This option is used for the width of the border in pixels. Its default value is 2 pixels. |
cursor |
This option helps in changing the mouse pointer to the cursor type and set it to the arrow, dot, etc. |
exportselection |
It is important to note that By Default, the text that is written inside the entry box will get automatically copied to the clipboard. If you do not want to copy the text then set the value of exportselection to 0. |
fg |
This option is used to indicate the color of the text. |
font |
This option is used to represent the font type of the text |
highlightbackground |
This option is used to represent the color to display in the traversal highlight region when the widget does not have the input focus. |
highlightcolor |
This option is used to represent the color to use for the traversal highlight rectangle which is drawn around the widget when the widget has an input focus. |
justify |
This option is used to specify how the text is organized in the case if the text contains multiple lines. |
relief |
This option is used to indicate the type of border. The default value of this option is FLAT . It has more values like GROOVE, RAISED,RIGID . |
selectbackground |
This option is used to indicate the background color of the selected text. |
selectforeground |
It is used to set the font of the selected task. |
selectborderwidth |
This option indicates the width of the border to display around the selected task |
width |
This option indicates the width of the image or width of text to display. |
textvariable |
With the help of this option, you will be able to retrieve the current text from your entry widget, you need to set this option to an instance of the StringVar class. |
show |
This option is used to show the entry text of some other type instead of the string. For example, we type the password using stars (*). |
xscrollcommand |
You can link the entry widget to the horizontal scrollbar if you want the user to enter more text rather then the actual width of the widget. |
insertbackground |
This option mainly represents the color to use as a background in the area covered by the insertion cursor. and thus this color will normally override the normal background for the widget. |
Tkinter Entry Widget Methods:
Various methods used with entry widgets are given below:
Method Name |
Description |
delete(first, last=None) |
This method is used to delete the specified characters inside the widget. |
get() |
This method is used to get the entry widget's current text as a string. |
icursor(index) |
This method is used to set the insertion cursor just before the character at the specified index. |
index(index) |
This method is used to place the cursor to the left of the character written at the specified index. |
select_clear() |
This method is used to clear the selection in the case if some selection has been done. |
select_present() |
If there is a presence of some selection then this method will return true otherwise, it will return false . |
insert(index, s) |
This method is mainly used to insert the specified string(s) before the character placed at the specified index |
select_adjust(index) |
This method mainly includes the selection of the character present at the specified index |
select_form(index) |
This method mainly sets the anchor index position to the character specified by the index. |
select_range(start, end) |
This method is used to select the characters to exist between the specified range |
select_to(index) |
This method mainly selects all the characters from the beginning to the specified index |
xview(index) |
This method is used to link the entry widget to a horizontal scrollbar |
xview_scroll(number, what) |
This method is mainly used to make the entry widget scrollable horizontally |
Tkinter Entry Widget Example
Below we have a basic example of the Tkinter Entry widget. Let us see the code snippet:
from tkinter import *
win = Tk()
win.geometry("400x250")
name = Label(win, text = "Name").place(x = 30,y = 50)
email = Label(win, text = "Email").place(x = 30, y = 90)
password = Label(win, text = "Password").place(x = 30, y = 130)
submitbtn = Button(win, text = "Submit",activebackground = "red", activeforeground = "blue")
.place(x = 30, y = 170)
entry1 = Entry(win).place(x = 80, y = 50)
entry2 = Entry(win).place(x = 80, y = 90)
entry3 = Entry(win).place(x = 95, y = 130)
win.mainloop()
In the above code example, we have done the following:
-
Create Tkintor Labels to name the text input fields. For all the 3 text input fields(Entry widget), we have created three labels.
-
We have used the place()
geometry manager to place the labels on the application window.
-
Then we have created a Button which is the submit button. And used the place()
geometry manager to position it on the application GUI.
-
And finally, we have the three Entry widgets which will create the three text input fields. And used the place()
geometry manager to position it on the application GUI.
Summary
In this tutorial, we learned how to use the Tkinter Entry widget to create a text input field while creating a GUI application.