'Entry' widgets are used to get a 'single line' of text from a user, like a name or an email address.
import tkinter as tk # Py3
root = tk.Tk()
label = tk.Label(root, text="Name", bg="red")
entry = tk.Entry(root, width=40)
button1 = tk.Button(root, text="Print", command=lambda: print(entry.get()))
button2 = tk.Button(root, text="Clear", command=lambda: entry.delete(0, tk.END))
label.grid()
entry.grid()
button1.grid()
button2.grid()
entry.focus() # save a click
# The cursor will start in the entry field, so users don't have to click
# on it before starting to type.
entry.bind('<Return>', (lambda event: print(entry.get())))
# lambda is used to ignore the 'event' argument
root.bind('<Return>', (lambda event: print("message from root")))
root.mainloop() # run the tkinter event loop
Selected keyword arguments in Entry()
master=root # the first argument
fg="white" # set the text color to white ('fg' or 'foreground')
bg="black" # set the background color to black ('bg' or 'background')
width=50 # in text units (no height argument)
show='*' # for passwords
state='disabled' # set the widget readonly (default 'normal')
textvariable=strvar # a variable linked to the entry
Operations
name = entry.get() # get a string
entry.delete(pos) # remove a char at pos
entry.delete(first, last) # remove a range [first:last] ('last' not included)
entry.delete(first, tk.END)
entry.insert(pos, "text") # insert text
entry.insert(0, "What is your name?") # info for the user