Skip to content

Commit 972d36a

Browse files
committed
Single Line Text Entry Widget
1 parent 75a78a1 commit 972d36a

File tree

1 file changed

+83
-0
lines changed

1 file changed

+83
-0
lines changed

src/program6.py

Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
'''
2+
Created on Sep 17, 2017
3+
4+
@author: Aditya
5+
6+
This code demonstrates the use of text entry widget in tkinter
7+
'''
8+
9+
import tkinter as tk
10+
from tkinter import ttk
11+
12+
class entryApp:
13+
14+
def __init__(self, master):
15+
self.label = ttk.Label(master, text='Enter the text below')
16+
self.label.pack()
17+
18+
self.entry = ttk.Entry(master, width = 30) # number of characters along the width
19+
self.entry.pack()
20+
21+
self.button = ttk.Button(master, text = "Get Entry")
22+
self.button.pack()
23+
self.tkstrvar = tk.StringVar() # create tk string variable
24+
self.tkstrvar.set('Nothing is done yet!') # set the value of tk string variable
25+
self.button.config(command = self.getEntry)
26+
27+
self.msg = ttk.Label(master, text = self.tkstrvar.get()) # get the value of string variable
28+
self.msg.pack()
29+
30+
self.btn1 = ttk.Button(master, text='Delete the entry', command = self.btn1func)
31+
self.btn1.pack()
32+
33+
self.crypt = tk.StringVar()
34+
self.crypt.set('Encrypt')
35+
self.btn2 = ttk.Button(master, text = "{} Text in Entry Field".format(self.crypt.get()), command = self.changecrypt)
36+
self.btn2.pack()
37+
#self.entryText = ttk.Entry(master, width=30)
38+
39+
ttk.Button(master, text = 'Disable Entry Field', command = self.btn3func).pack()
40+
ttk.Button(master, text = 'Enable Entry Field', command = self.btn4func).pack()
41+
ttk.Button(master, text = 'Readonly Entry Field', command = self.btn5func).pack()
42+
ttk.Button(master, text = 'Edit Entry Field', command = self.btn6func).pack()
43+
44+
def changecrypt(self):
45+
if self.crypt.get()=='Encrypt':
46+
self.entry.config(show='*')
47+
self.crypt.set('Decrypt')
48+
self.btn2.config(text = "{} Text in Entry Field".format(self.crypt.get()))
49+
else:
50+
self.entry.config(show='')
51+
self.crypt.set('Encrypt')
52+
self.btn2.config(text = "{} Text in Entry Field".format(self.crypt.get()))
53+
54+
def btn3func(self):
55+
self.entry.state(['disabled'])
56+
57+
def btn4func(self):
58+
self.entry.state(['!disabled'])
59+
60+
def btn5func(self):
61+
self.entry.state(['readonly'])
62+
63+
def getEntry(self):
64+
self.tkstrvar.set(self.entry.get()) # get entry widget content and store it in tk_string variable
65+
self.msg.config(text = self.tkstrvar.get()) # set msg as value of string variable
66+
67+
def btn1func(self):
68+
self.entry.delete(0, tk.END) # delete all from 0 to END character in Entry Widget
69+
70+
def btn6func(self):
71+
self.entry.state(['!readonly'])
72+
73+
74+
def launchEntryApp():
75+
root = tk.Tk()
76+
entryApp(root)
77+
tk.mainloop()
78+
79+
80+
def test():
81+
launchEntryApp()
82+
83+
if __name__ == '__main__': test()

0 commit comments

Comments
 (0)