Creating a FORM using various features of tkinter.


from
tkinter import *
from tkinter import ttk
window = Tk()
window.geometry("720x480")

#----------------------------LABEL-FRAME-----------------------------
label_frame = LabelFrame(window, text='Enter your details below')
label_frame.grid(row=0,column=0,padx=40)
#---------------------------LABELS LIST---------------------------
labels = ['Name : ' , 'Age ', 'Gender : ', 'Country : ', 'State : ', 'City : ']
#---------------------------Creating Labels using for loop.----------
#--------> You can create labels without for loop.
for i in range(len(labels)):
cur_label = Label(label_frame,text=labels[i])
cur_label.grid(row = i,column=0,sticky='nw')

name=StringVar()
age=StringVar()
gender=StringVar()
country=StringVar()
state=StringVar()
city=StringVar()

#---------------------------ENTRY BOX--------------------------------
name_entry=Entry(label_frame,textvariable=name,width=20)
age_entry=Entry(label_frame,textvariable=age,width=20)

#---------------------------COMBO BOX---------------------------------
gender_entry = ttk.Combobox(label_frame,textvariable=gender,width=18,state='readonly')
gender_entry['values']=('male','female','other')
gender_entry.current(0)

country_entry=Entry(label_frame,textvariable=country,width=20)
state_entry=Entry(label_frame,textvariable=state,width=20)
city_entry=Entry(label_frame,textvariable=city,width=20)

#--------------------------GRID OPTION--------------------------------
name_entry.grid(row=0,column=1,padx=4,pady=4)
age_entry.grid(row=1,column=1,padx=4,pady=4)
gender_entry.grid(row=2,column=1,padx=4,pady=4)
country_entry.grid(row=3,column=1,padx=4,pady=4)
state_entry.grid(row=4,column=1,padx=4,pady=4)
city_entry.grid(row=5,column=1,padx=4,pady=4)

#-------------------------FUNCTION "def", It'll work after pressing the Button.-----------

def submit():
print(name.get())
print(age.get())
print(gender.get())
print(country.get())
print(state.get())
print(city.get())
#-----------------------Auto clear option for entry boxes.-----------------
name_entry.delete(0,'end')
age_entry.delete(0,'end')
gender_entry.delete(0,'end')
country_entry.delete(0,'end')
state_entry.delete(0,'end')
city_entry.delete(0,'end')

#-----------------------------Button-----------------------------
button = Button(window, text = 'Submit' ,command = submit, bg='red')
button.grid(row=7,columnspan=2)

window.mainloop()

Comments