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.
|Sr.No.||Option & Description|
The normal background color displayed behind the label and indicator.
The size of the border around the indicator. Default is 2 pixels.
A procedure to be called every time the user changes the state of this checkbutton.
If 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.
The font used for the text.
By default, if you select text within an Entry widget, it is automatically exported to the clipboard. To avoid this exportation, use exportselection = 0.
The color used to render the text.
The color of the focus highlight when the checkbutton has the focus.
If the text contains multiple lines, this option controls how the text is justified: CENTER, LEFT, or RIGHT.
With 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
The background color to use displaying selected text.
The width of the border to use around selected text. The default is one pixel.
The foreground (text) color of selected text.
Normally, the characters that the user types appear in the entry. To make a .password. entry that echoes each character as an asterisk, set show = "*".
The 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.
In 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.
The 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.
If 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 −
|Sr.No.||Medthod & Description|
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.
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.
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.
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 −
# !/usr/bin/python3 from tkinter import * top = Tk() L1 = Label(top, text = "User Name") L1.pack( side = LEFT) E1 = Entry(top, bd = 5) E1.pack(side = RIGHT) top.mainloop()
When the above code is executed, it produces the following result −