Irrespective of number of Entry boxes we used in our application, we can remove all user entered data by using winfo_children() which returns all the widget classes of the Tkinter window.
Here is the code

for widget in my_w.winfo_children():
if isinstance(widget, tk.Entry): # If this is an Entry widget
widget.delete(0,’end’) # Delete all entries

In practice we will frequently come across requirement of Entry text box. Most common requirements are listed here.

How to read the entered text.
How to delete the entered text.
How to configure the font colour and background colour of the text entry box.

Copy data from first entry box to second entry on button click or using trace method in Tkinter

We will create two Entry boxes. The first entry box e1 we will use to enter the data. On click of the Update button data from first entry box e1 will transfer to second entry box e2. One more button we will use to delete all data from second entry box e2.

By using two buttons we can change the font colour of second entry box e2 to green or red. Similarly by using two more buttons we can change the background colour of second entry box e2.

import tkinter as tk
my_w = tk.Tk()
from tkinter import *
my_w.geometry(“250×150”)
my_w.title(“plus2net.com”) # Adding a title
l1 = tk.Label(my_w, text=’First’ ) # added one Label
l1.grid(row=1,column=1)
e1_str=tk.StringVar()
e1 = tk.Entry(my_w,textvariable=e1_str) # added one Entry box
e1.grid(row=1,column=2)
l2 = tk.Label(my_w, text=’Second’ ) # added one Label
l2.grid(row=2,column=1)
e2_str=tk.StringVar()
e2 = tk.Entry(my_w,textvariable=e2_str) # added one Entry box
e2.grid(row=2,column=2)
b1 = tk.Button(my_w, text=’Update’, width=8,
command=lambda: my_upd())
b1.grid(row=3,column=1)
b2 = tk.Button(my_w, text=’Reset’, width=8,
command=lambda: my_reset())
b2.grid(row=3,column=2)
## buttons for changing font colour of Entries
b3 = tk.Button(my_w, text=’fg=green’, width=8,
command=lambda: my_config(‘fg’,’green’))
b3.grid(row=4,column=1)
b4 = tk.Button(my_w, text=’fg=red’, width=8,
command=lambda: my_config(‘fg’,’red’))
b4.grid(row=4,column=2)
b5 = tk.Button(my_w, text=’bg=yellow’, width=8,
command=lambda: my_config(‘bg’,’yellow’))
b5.grid(row=5,column=1)
b6 = tk.Button(my_w, text=’bg=blue’, width=8,
command=lambda: my_config(‘bg’,’blue’))
b6.grid(row=5,column=2)
def my_upd():
e2_str.set(e1.get()) # read and assign text to StringVar()
def my_reset():
e1.delete(0,END) # Delete first Entry
e2.delete(0,END) # Delete Second Entry
e1.config(bg=’#ffffff’,fg=’#000000′) # reset background
e2.config(bg=’#ffffff’,fg=’#000000′) # reset background
def my_config(type,col):
if type==’fg’:
e1.config(fg=col)
e2.config(fg=col)
elif type==’bg’:
e1.config(bg=col)
e2.config(bg=col)
my_w.mainloop()

from sqlalchemy import create_engine
# Connect to database using your user id and password
my_conn = create_engine(“mysql+mysqldb://userid:password@localhost/database_name”)
r_set = my_conn.execute(“SELECT name FROM student WHERE id=6”) # execute query
my_result = r_set.fetchone() # get the data
print(my_result[0]) # print to console
# Create Tkitner window and show the value
import tkinter as tk
my_w = tk.Tk()
my_w.geometry(“250×150”)
my_w.title(“plus2net.com”) # Adding a title
l1 = tk.Label(my_w, text=”Your Name”, width=10) # added one Label
l1.grid(row=1, column=1)
e1_str = tk.StringVar(value=my_result[0]) # default value taken from database
e1 = tk.Entry(my_w, width=20, bg=”yellow”, textvariable=e1_str) # added one Entry box
e1.grid(row=1, column=2)
my_w.mainloop()

You are watching: Python Tkinter GUI component Entry for single line of user text input. Info created by GBee English Center selection and synthesis along with other related topics.