Python tkinter Entry

We will keep one Label along with a Entry box.
Basics of Python Tkinter

User input for single line of text. ( for multi line of text use Text)
t1=tk.Entry(parent_window,options)
parent_window : Declared Parent window
options : Various options can be added, list is given below.
Entry for text input
import tkinter as tk
my_w = tk.Tk()
my_w.geometry("250x150")  
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 = tk.Entry(my_w,   width=20,bg='yellow') # added one Entry box
e1.grid(row=1,column=2) 

my_w.mainloop()

Reading data of Entry box and entering data

We can read the data entered inside the Entry text box ( e1 is the Entry box )
e1.get()

To Delete text of Entry box

e1.delete(0,END)
We can keep any default text or from any other input system inside an Entry box. For this we will use one StringVar().

We can bind the StringVar() e1_str to our Entry box e1. Now we are adding one default text Welcome to the Entry text.
e1 = tk.Entry(my_w,textvariable=e1_str,width=15) # added one Entry box
e1.grid(row=1,column=2)
e1_str.set('Welcome')
Using the above methods we will create one application where on Click of a button the data entered by the user in Entry box is displayed and default text is changed to Welcome.
getting & setting data from Entry
def my_upd():
    my_str.set(e1.get()) # read and assign text to StringVar()
    e1_str.set('Welcome')# Update the Entry box text
Here on Click of the button the function my_upd() is executed. Inside this function we will first read the text entered by user and assign the same to another Label ( l2 ) .

In next line we will assign the string 'Welcome' to the StringVar() binded to Entry box ( e1 ).
import tkinter as tk
my_w = tk.Tk()
my_w.geometry("250x150")  
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()
e1 = tk.Entry(my_w,textvariable=e1_str,width=15) # added one Entry box
e1.grid(row=1,column=2) 

b1 = tk.Button(my_w, text='Update', width=8,bg='yellow',
    command=lambda: my_upd())
b1.grid(row=1,column=3)

my_str = tk.StringVar()
# added one Label 
l2 = tk.Label(my_w,  text='Output',textvariable=my_str, width=10 ) 
l2.grid(row=2,column=1) 

def my_upd():
    my_str.set(e1.get()) # read and assign text to StringVar()
    e1_str.set('Welcome')# Update the Entry box text
my_w.mainloop()
We can change or manage different options by using config. One example is here .
e1.config(bg='red') # change background color to red
Similarly other properties can be updated. One similar list is available with Text entry.

Password entry text

We can mask the user entered text by using show='*' or we can use other chars show='#'
l2 = tk.Label(my_w,  text='Output',textvariable=my_str,show='*' ) 

Uses of Entry box

Uses of Entry box
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.

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("250x150")  
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()
View and Download tkinter-entry2.ipynb file



Python Tkinter Text


plus2net.com



Post your comments , suggestion , error , requirements etc here




We use cookies to improve your browsing experience. . Learn more
HTML MySQL PHP JavaScript ASP Photoshop Articles FORUM . Contact us
©2000-2020 plus2net.com All rights reserved worldwide Privacy Policy Disclaimer