Python Tkinter Entry


The Entry widget is used to accept single-line text strings from a user.

  • If you want to display multiple lines of text that can be edited, then you should use the Text widget.

  • If you want to display one or more lines of text that cannot be modified by the user, then you should use the Label widget.


Here is the simple syntax to create this widget −

w = Entry( master, option, ... )


  • master: This represents the parent window.

  • options: Here is the list of most commonly used options for this widget. These options can be used as key-value pairs separated by commas.

bgThe normal background color displayed behind the label and indicator.
bd The size of the border around the indicator. Default is 2 pixels.
commandA procedure to be called every time the user changes the state of this checkbutton.
cursorIf you set this option to a cursor name (arrow, dot etc.), the mouse cursor will change to that pattern when it is over the checkbutton.
fontThe font used for the text.
exportselectionBy default, if you select text within an Entry widget, it is automatically exported to the clipboard. To avoid this exportation, use exportselection=0.
fg The color used to render the text.
highlightcolorThe color of the focus highlight when the checkbutton has the focus.
justifyIf the text contains multiple lines, this option controls how the text is justified: CENTER, LEFT, or RIGHT.
reliefWith the default value, relief=FLAT, the checkbutton does not stand out from its background. You may set this option to any of the other styles
selectbackgroundThe background color to use displaying selected text.
selectborderwidthThe width of the border to use around selected text. The default is one pixel.
selectforegroundThe foreground (text) color of selected text.
showNormally, the characters that the user types appear in the entry. To make a .password. entry that echoes each character as an asterisk, set show="*".
stateThe default is state=NORMAL, but you can use state=DISABLED to gray out the control and make it unresponsive. If the cursor is currently over the checkbutton, the state is ACTIVE.
textvariableIn order to be able to retrieve the current text from your entry widget, you must set this option to an instance of the StringVar class.
widthThe default width of a checkbutton is determined by the size of the displayed image or text. You can set this option to a number of characters and the checkbutton will always have room for that many characters.
xscrollcommandIf you expect that users will often enter more text than the onscreen size of the widget, you can link your entry widget to a scrollbar.


Following are commonly used methods for this widget −

delete ( first, last=None )Deletes characters from the widget, starting with the one at index first, up to but not including the character at position last. If the second argument is omitted, only the single character at position first is deleted.
get()Returns the entry's current text as a string.
icursor ( index )Set the insertion cursor just before the character at the given index.
index ( index )Shift the contents of the entry so that the character at the given index is the leftmost visible character. Has no effect if the text fits entirely within the entry.
insert ( index, s )Inserts string s before the character at the given index.
select_adjust ( index )This method is used to make sure that the selection includes the character at the specified index.
select_clear()Clears the selection. If there isn't currently a selection, has no effect.
select_from ( index )Sets the ANCHOR index position to the character selected by index, and selects that character.
select_present()If there is a selection, returns true, else returns false.
select_range ( start, end )Sets the selection under program control. Selects the text starting at the start index, up to but not including the character at the end index. The start position must be before the end position.
select_to ( index )Selects all the text from the ANCHOR position up to but not including the character at the given index.
xview ( index )This method is useful in linking the Entry widget to a horizontal scrollbar.
xview_scroll ( number, what )Used to scroll the entry horizontally. The what argument must be either UNITS, to scroll by character widths, or PAGES, to scroll by chunks the size of the entry widget. The number is positive to scroll left to right, negative to scroll right to left.


Try the following example yourself −

from Tkinter import *

top = Tk()
L1 = Label(top, text="User Name")
L1.pack( side = LEFT)
E1 = Entry(top, bd =5)

E1.pack(side = RIGHT)


When the above code is executed, it produces the following result:

TK Entry