Need help with this, code of python. Works but shows no operational buttons

import tkinter
from tkinter import *
from tkinter import ttk
from tkinter import messagebox
import mysql.connector
import speech_recognition as sr

class DataEntryForm:
def init(self,root):
self.root = root
self.root.title = (“Data Entry Form”)
self.root.geometry(“1300x800+0+0”)

    rollno = StringVar()
    fname = StringVar()
    lname = StringVar()
    age = StringVar()
    gender = StringVar()
    email = StringVar()
    phoneno = StringVar()
    course = StringVar()
    address = StringVar()
    search = StringVar()

    MainFrame = Frame(root, bd=10, width=2000, height=750, relief=RIDGE)
    MainFrame.grid()

    TopFrame1 = Frame(MainFrame, bd=5, width=1300, height=500, relief=RIDGE, bg='violet')
    TopFrame1.grid(row=0, column=0)
    TopFrame2 = Frame(MainFrame, bd=5, width=1300, height=50, relief=RIDGE, bg='violet')
    TopFrame2.grid(row=1, column=0)
    TopFrame3 = Frame(MainFrame, bd=5, width=1300, height=400, relief=RIDGE, bg='violet')
    TopFrame3.grid(row=2, column=0)

    InnerFrame1 = Frame(TopFrame1, bd=5, width=1300, height=250, relief=RIDGE)
    InnerFrame1.grid()
    InnerFrame2 = Frame(TopFrame2, bd=5, width=1300, height=48, relief=RIDGE)
    InnerFrame2.grid()
    InnerFrame3 = Frame(TopFrame3, bd=5, width=1300, height=300, relief=RIDGE)
    InnerFrame3.grid()

    def clear():
        rollno.set("")
        fname.set("")
        lname.set("")
        age.set("")
        gender.set("")
        email.set("")
        phoneno.set("")
        course.set("")
        address.set("")
        search.set("")

    def exit():
        exit = tkinter.messagebox.askyesno("DataEntry Form", "Are you sure you want to exit")
        if exit > 0:
            root.destroy()
            return

    def addnew():
        if rollno.get() == "" or fname.get() == "" or lname.get() == "":
            tkinter.messagebox.showerror("DataEntry Form", "Enter correct Details")
        else:
            sqlcon = mysql.connector.connect(host="localhost", user="root", passwd="root", database="form")
            cursor = sqlcon.cursor()
            cursor.execute("insert into Student values(%s,%s,%s,%s,%s,%s,%s,%s,%s)", (
                rollno.get(),
                fname.get(),
                lname.get(),
                age.get(),
                gender.get(),
                email.get(),
                phoneno.get(),
                course.get(),
                address.get()
            ))
            sqlcon.commit()
            sqlcon.close()
            tkinter.messagebox.showinfo("Data Entry Form", "Record Entered Successfully")

    def display():
        sqlcon = mysql.connector.connect(host="localhost", user="root", passwd="root", database="form")
        cursor = sqlcon.cursor()
        cursor.execute("select * from Student")
        result = cursor.fetchall()
        if len(result) != 0:
            records.delete(*records.get_children())
            for row in result:
                records.insert('', END, values=row)
            sqlcon.commit()
        sqlcon.close()

    def LearnersInfo(ev):
        viewInfo = records.focus()
        learnersData = records.item(viewInfo)
        row = learnersData['values']
        rollno.set(row[0])
        fname.set(row[1])
        lname.set(row[2])
        age.set(row[3])
        gender.set(row[4])
        email.set(row[5])
        phoneno.set(row[6])
        course.set(row[7])
        address.set(row[8])

    def update():
        sqlcon = mysql.connector.connect(host="localhost", user="root", passwd="root", database="form")
        cursor = sqlcon.cursor()
        cursor.execute("update Student set,fname=%s,lname=%s,age=%s,gender=%s,email=%s,\
                phoneno=%s,course=%s,address=%s where rollno=%s", (

            fname.get(),
            lname.get(),
            age.get(),
            gender.get(),
            email.get(),
            phoneno.get(),
            course.get(),
            address.get(),
            rollno.get()
        ))
        sqlcon.commit()
        display()
        tkinter.messagebox.showinfo("Data Entry Form", "Record updated successfully")

    def delete():
        sqlcon = mysql.connector.connect(host="localhost", user="root", passwd="root", database="form")
        cursor = sqlcon.cursor()
        cursor.execute("delete from Student where rollno= " + rollno.get())

        sqlcon.commit()
        display()
        sqlcon.close()
        tkinter.messagebox.showinfo("Data Entry Form", "Record deleted successfully")

    def search_stud():
        try:
            sqlcon = mysql.connector.connect(host="localhost", user="root", passwd="root", database="form")
            cursor = sqlcon.cursor()
            cursor.execute("select * from Student where rollno='%s'" % search.get())

            row = cursor.fetchone()

            rollno.set(row[0])
            fname.set(row[1])
            lname.set(row[2])
            age.set(row[3])
            gender.set(row[4])
            email.set(row[5])
            phoneno.set(row[6])
            course.set(row[7])
            address.set(row[8])

            sqlcon.commit()
        except:
            tkinter.messagebox.showinfo("Data Entry Form", "No such record found")
            clear()
        sqlcon.close()
        search.set("")

    def rollnobutton():
        r = sr.Recognizer()
        with sr.Microphone() as source:
            print("Speak Something :")
            audio = r.listen(source)
            try:
                text = r.recognize_google(audio)
                print("You said : {}".format(text))
                self.ent1.focus()
                if text == 'xx':
                    self.ent1.insert(0, 20)
                else:
                    self.ent1.insert(0, text)

            except:
                print("Sorry could not recognize what you said")

    def return_entry1(event):
        """Gets and prints the content of the entry"""
        text = self.ent1.get()
        print(text)

    def fnamebutton():
        r = sr.Recognizer()
        with sr.Microphone() as source:
            print("Speak Something :")
            audio = r.listen(source)
            try:
                text = r.recognize_google(audio)
                print("You said : {}".format(text))
                self.ent2.focus()
                self.ent2.insert(0, text)

            except:
                print("Sorry could not recognize what you said")

    def return_entry2(event):
        """Gets and prints the content of the entry"""
        text = self.ent2.get()
        print(text)

    def lnamebutton():
        r = sr.Recognizer()
        with sr.Microphone() as source:
            print("Speak Something :")
            audio = r.listen(source)
            try:
                text = r.recognize_google(audio)
                print("You said : {}".format(text))
                self.ent3.focus()
                self.ent3.insert(0, text)

            except:
                print("Sorry could not recognize what you said")

    def return_entry3(event):
        """Gets and prints the content of the entry"""
        text = self.ent3.get()
        print(text)

    def agebutton():
        r = sr.Recognizer()
        with sr.Microphone() as source:
            print("Speak Something :")
            audio = r.listen(source)
            try:
                text = r.recognize_google(audio)
                print("You said : {}".format(text))
                self.ent4.focus()
                if text == 'xx':
                    self.ent4.insert(0, 20)
                else:
                    self.ent4.insert(0, text)
            except:
                print("Sorry could not recognize what you said")

    def return_entry4(event):
        """Gets and prints the content of the entry"""
        text = self.ent4.get()
        print(text)

    def emailbutton():
        r = sr.Recognizer()
        with sr.Microphone() as source:
            print("Speak Something :")
            audio = r.listen(source)
            try:
                text = r.recognize_google(audio)
                print("You said : {}".format(text))
                self.ent6.focus()
                self.ent6.insert(0, text)

            except:
                print("Sorry could not recognize what you said")

    def return_entry6(event):
        """Gets and prints the content of the entry"""
        text = self.ent6.get()
        print(text)

    def phonebutton():
        r = sr.Recognizer()
        with sr.Microphone() as source:
            print("Speak Something :")
            audio = r.listen(source)
            try:
                text = r.recognize_google(audio)
                print("You said : {}".format(text))
                self.ent7.focus()
                self.ent7.insert(0, text)

            except:
                print("Sorry could not recognize what you said")

    def return_entry7(event):
        """Gets and prints the content of the entry"""
        text = self.ent7.get()
        print(text)

    def coursebutton():
        r = sr.Recognizer()
        with sr.Microphone() as source:
            print("Speak Something :")
            audio = r.listen(source)
            try:
                text = r.recognize_google(audio)
                print("You said : {}".format(text))
                self.courselist.focus()
                self.courselist.insert(0, text)

            except:
                print("Sorry could not recognize what you said")

    def return_entry8(event):
        """Gets and prints the content of the entry"""
        text = self.courselist.get()
        print(text)

    def searchbutton():
        r = sr.Recognizer()
        with sr.Microphone() as source:
            print("Speak Something :")
            audio = r.listen(source)
            try:
                text = r.recognize_google(audio)
                print("You said : {}".format(text))
                self.search_ent.focus()
                self.search_ent.insert(0, text)

            except:
                print("Sorry could not recognize what you said")

    def return_entry9(event):
        """Gets and prints the content of the entry"""
        text = self.search_ent.get()
        print(text)

    def addressbutton():
        r = sr.Recognizer()
        with sr.Microphone() as source:
            print("Speak Something :")
            audio = r.listen(source)
            try:
                text = r.recognize_google(audio)
                print("You said : {}".format(text))
                self.address.focus()
                self.address.insert(0, text)

            except:
                print("Sorry could not recognize what you said")

    def return_entry10(event):
        """Gets and prints the content of the entry"""
        text = self.address.get()
        print(text)

    self.lbl1 = Label(InnerFrame1, font=('arial', 12, 'bold'), text="Roll Number", bd=10)
    self.lbl1.grid(row=0, column=0, sticky=W)
    self.ent1 = Entry(InnerFrame1, font=('arial', 12, 'bold'), bd=5, width=32, justify='left', textvariable=rollno)
    self.ent1.grid(row=0, column=1)
    self.ent1.bind('<Return>', return_entry1)

    self.lbl2 = Label(InnerFrame1, font=('arial', 12, 'bold'), text="First Name", bd=10)
    self.lbl2.grid(row=1, column=0, sticky=W)
    self.ent2 = Entry(InnerFrame1, font=('arial', 12, 'bold'), bd=5, width=32, justify='left', textvariable=fname)
    self.ent2.grid(row=1, column=1)
    self.ent2.bind('<Return>', return_entry2)

    self.lbl3 = Label(InnerFrame1, font=('arial', 12, 'bold'), text="Last Name", bd=10)
    self.lbl3.grid(row=2, column=0, sticky=W)
    self.ent3 = Entry(InnerFrame1, font=('arial', 12, 'bold'), bd=5, width=32, justify='left', textvariable=lname)
    self.ent3.grid(row=2, column=1)
    self.ent3.bind('<Return>', return_entry3)

    self.lbl4 = Label(InnerFrame1, font=('arial', 12, 'bold'), text="Age", bd=10)
    self.lbl4.grid(row=3, column=0, sticky=W)
    self.ent4 = Entry(InnerFrame1, font=('arial', 12, 'bold'), bd=5, width=32, justify='left', textvariable=age)
    self.ent4.grid(row=3, column=1)
    self.ent4.bind('<Return>', return_entry4)

    self.lbl5 = Label(InnerFrame1, font=('arial', 12, 'bold'), text="Gender", bd=10)
    self.lbl5.grid(row=4, column=0, sticky=W)

    self.male = Radiobutton(InnerFrame1, text='Male', variable=gender, value="Male").grid(row=4, column=1, sticky=W)
    self.female = Radiobutton(InnerFrame1, text='Female', variable=gender, value="Female").grid(row=4, column=1)

    self.lbl6 = Label(InnerFrame1, font=('arial', 12, 'bold'), text="Email", bd=10)
    self.lbl6.grid(row=0, column=3, sticky=W)
    self.ent6 = Entry(InnerFrame1, font=('arial', 12, 'bold'), bd=5, width=32, justify='left', textvariable=email)
    self.ent6.grid(row=0, column=4)
    self.ent6.bind('<Return>', return_entry6)

    self.lbl7 = Label(InnerFrame1, font=('arial', 12, 'bold'), text="Phone Number", bd=10)
    self.lbl7.grid(row=1, column=3, sticky=W)
    self.ent7 = Entry(InnerFrame1, font=('arial', 12, 'bold'), bd=5, width=32, justify='left', textvariable=phoneno)
    self.ent7.grid(row=1, column=4)
    self.ent7.bind('<Return>', return_entry7)

    self.lbl8 = Label(InnerFrame1, font=('arial', 12, 'bold'), text="Course", bd=10)
    self.lbl8.grid(row=2, column=3, sticky=W)

    self.courselist = ttk.Combobox(InnerFrame1, font=('arial', 12, 'bold'), width=31, textvariable=course)
    self.courselist['value'] = ('', 'B.M.M', 'B.M.S', 'B.Com', 'B.Sc IT', 'B.Sc CS')
    self.courselist.current(0)
    self.courselist.grid(row=2, column=4)
    self.courselist.bind('<Return>', return_entry8)

    self.lbl9 = Label(InnerFrame1, font=('arial', 12, 'bold'), text="Search", bd=10)
    self.lbl9.grid(row=3, column=3, sticky=W)
    self.search_ent = Entry(InnerFrame1, font=('arial', 12, 'bold'), bd=5, width=32, justify='left',
                            textvariable=search)
    self.search_ent.grid(row=3, column=4)
    self.search_ent.bind('<Return>', return_entry9)

    self.lbl10 = Label(InnerFrame1, font=('arial', 12, 'bold'), text="Address", bd=10)
    self.lbl10.grid(row=4, column=3, sticky=W)
    self.address = Entry(InnerFrame1, font=('arial', 12, 'bold'), bd=5, width=32, justify='left', textvariable=address)
    self.address.grid(row=4, column=4)
    self.address.bind('<Return>', return_entry10)

    self.speak1 = Button(InnerFrame1, font=('arial', 8, 'bold'), width=5, text="Speak", command=rollnobutton, fg="blue",
                         bg="red")
    self.speak1.grid(row=0, column=2)

    self.speak2 = Button(InnerFrame1, font=('arial', 8, 'bold'), width=5, text="Speak", command=fnamebutton, fg="blue",
                         bg="red")
    self.speak2.grid(row=1, column=2)

    self.speak3 = Button(InnerFrame1, font=('arial', 8, 'bold'), width=5, text="Speak", command=lnamebutton, fg="blue",
                         bg="red")
    self.speak3.grid(row=2, column=2)

    self.speak4 = Button(InnerFrame1, font=('arial', 8, 'bold'), width=5, text="Speak", command=agebutton, fg="blue",
                         bg="red")
    self.speak4.grid(row=3, column=2)

    """self.speak5 = Button(InnerFrame1, font=('arial', 8, 'bold'), width=5, text="Speak",  command=buttonClick5,fg="blue",bg="red")
    self.speak5.grid(row=4, column=2)"""

    self.speak6 = Button(InnerFrame1, font=('arial', 8, 'bold'), width=5, text="Speak", command=emailbutton, fg="blue",
                         bg="red")
    self.speak6.grid(row=0, column=5)

    self.speak7 = Button(InnerFrame1, font=('arial', 8, 'bold'), width=5, text="Speak", command=phonebutton, fg="blue",
                         bg="red")
    self.speak7.grid(row=1, column=5)

    self.speak8 = Button(InnerFrame1, font=('arial', 8, 'bold'), width=5, text="Speak", command=coursebutton, fg="blue",
                         bg="red")
    self.speak8.grid(row=2, column=5)

    self.speak9 = Button(InnerFrame1, font=('arial', 8, 'bold'), width=5, text="Speak", command=searchbutton, fg="blue",
                         bg="red")
    self.speak9.grid(row=3, column=5)

    self.speak10 = Button(InnerFrame1, font=('arial', 8, 'bold'), width=5, text="Speak", command=addressbutton,
                          fg="blue", bg="red")
    self.speak10.grid(row=4, column=5)

    xscroll = Scrollbar(InnerFrame3, orient=HORIZONTAL)
    yscroll = Scrollbar(InnerFrame3, orient=VERTICAL)

    records = ttk.Treeview(InnerFrame3, height=13, columns=(1, 2, 3, 4, 5, 6, 7, 8, 9),
                           xscrollcommand=xscroll.set, yscrollcommand=yscroll.set)

    xscroll.pack(side=BOTTOM, fill=X)
    yscroll.pack(side=RIGHT, fill=Y)

    records.heading("1", text="Roll Number")
    records.heading("2", text="First Name")
    records.heading("3", text="Last Name")
    records.heading("4", text="Age")
    records.heading("5", text="Gender")
    records.heading("6", text="Email")
    records.heading("7", text="Phone Number")
    records.heading("8", text="Course")
    records.heading("9", text="Address")

    records['show'] = "headings"

    records.column("#1", width=80)
    records.column("#2", width=150)
    records.column("#3", width=150)
    records.column("#4", width=50)
    records.column("#5", width=80)
    records.column("#6", width=150)
    records.column("#7", width=150)
    records.column("#8", width=100)
    records.column("#9", width=250)

    records.pack(fill=BOTH, expand=1)
    records.bind("<Double 1>", LearnersInfo)
    display()

    self.add_new = Button(InnerFrame2, pady=1, bd=4, font=('arial', 16, 'bold'), width=13, text="Add New",
                          command=addnew)
    self.add_new.grid(row=0, column=0, padx=3)

    self.display_stud = Button(InnerFrame2, pady=1, bd=4, font=('arial', 16, 'bold'), width=13, text="Display",
                               command=display)
    self.display_stud.grid(row=0, column=1, padx=3)

    self.update_stud = Button(InnerFrame2, pady=1, bd=4, font=('arial', 16, 'bold'), width=13, text="Update",
                              command=update)
    self.update_stud.grid(row=0, column=2, padx=3)

    self.stud_delete = Button(InnerFrame2, pady=1, bd=4, font=('arial', 16, 'bold'), width=13, text="Delete",
                              command=delete)
    self.stud_delete.grid(row=0, column=3, padx=3)

    self.search_stud = Button(InnerFrame2, pady=1, bd=4, font=('arial', 16, 'bold'), width=13, text="Search",
                              command=search_stud)
    self.search_stud.grid(row=0, column=4, padx=3)

    self.clear = Button(InnerFrame2, pady=1, bd=4, font=('arial', 16, 'bold'), width=13, text="Clear", command=clear)
    self.clear.grid(row=0, column=5, padx=3)

    self.exit = Button(InnerFrame2, pady=1, bd=4, font=('arial', 16, 'bold'), width=13, text="Exit", command=exit)
    self.exit.grid(row=0, column=6, padx=3)

if name ==‘main’:
root = Tk()
application = DataEntryForm(root)
root.mainloop()

This post was flagged by the community and is temporarily hidden.