Python的条目小部件

时间:2020-06-08 17:48:09

标签: python mysql tkinter

我正在通过MySQL Python Connector在MySQL表中插入记录。我正在为一个库创建一个项目。这是代码

var=StringVar()
fn=StringVar()
yn=StringVar()
ln=StringVar()
dn=StringVar()
an=StringVar()
kn=StringVar()
gn=StringVar()
mn=StringVar()
pn=StringVar()



photo=ImageTk.PhotoImage(Image.open("iplib.jpg"))
img=ImageTk.PhotoImage(Image.open("old.jpg"))
label15=Label(lib,image=img)
label15.place(x=0,y=0)
label10=Label(lib,image=photo)
label10.place(x=600,y=0)

def dynamic_data_entry():
    id1=ln.get()
    name1=fn.get()
    auth1=dn.get()
    doi1=an.get()
    dor1=gn.get()
    rname=kn.get()
    Address=pn.get
    reiss=mn.get()
    gen1=var.get()
    entry4.delete(0,END)
    entry5.delete(0,END)
    entry6.delete(0,END)
    entry7.delete(0,END)
    entry8.delete(0,END)
    entry9.delete(0,END)
    entry10.delete(0,END)
    entry11.delete(0,END)
    libcur.execute("INSERT INTO 
tcl(Book_id,Book_name,Author,DOI,DOR,Reissues,Recipients_Name,Address,Genre) 
VALUES(%s,%s,%s,%s,%s,%s,%s,%s,%s)",(id1,name1,auth1,doi1,dor1,reiss,rname,Address,gen1))
    mydb.commit()
    messagebox.showinfo("INSERT STATUS","RECORD HAS BEEN ADDED SUCCESSFULLY")
    libcur.close()



def insert():
    top=Toplevel()
    top.geometry("500x500")
    top.title("INSERT RECORDS")
    label4=Label(top,text="Book Name:",fg="orange",font=("arial",15,"bold"))
    label4.place(x=65,y=70)
    entry4=Entry(top,textvariable=fn)
    entry4.place(x=270,y=75)
    label5=Label(top,text="Book Id:",fg="seagreen",font=("arial",15,"bold"))
    label5.place(x=65,y=30)
    entry5=Entry(top,textvariable=ln)
    entry5.place(x=270,y=35)
    label6=Label(top,text="Author:",fg="grey",font=("arial",15,"bold"))
    label6.place(x=65,y=100)
    entry6=Entry(top,textvariable=dn)
    entry6.place(x=270,y=105)
    label7=Label(top,text="Date of issuing:",fg="deepskyblue",font=("arial",15,"bold"))
    label7.place(x=65,y=130)
    entry7=Entry(top,textvariable=an)
    entry7.place(x=270,y=135)
    label8=Label(top,text="Date of return:",fg="gold",font=("arial",15,"bold"))
    label8.place(x=65,y=170)
    entry8=Entry(top,textvariable=gn)
    entry8.place(x=270,y=175)
    label9=Label(top,text="Re-issues(Yes/No):",fg="navy",font=("arial",15,"bold"))
    label9.place(x=65,y=200)
    entry9=Entry(top,textvariable=mn)
    entry9.place(x=270,y=205)
    list1= {"Adventure","Art","Children","Contemporary","Mystery","Cooking","Dystopian","Development","AutoBiography","Families","Fantasy","Fiction","Guide","Humor","History","Health","Motivational","Memoir","Novel","Paranormal","Personal","Romance","Travel"}





    droplist=OptionMenu(top, var,*list1)
    var.set("Select Genre")
    droplist.configure(width=15)
    droplist.place(x=265,y=290)
    label5=Label(top,text="Genre:",fg="lightcoral",font=("arial",15,"bold"))
    label5.place(x=65,y=295)
    label17=Label(top,text="Recipients Name:",fg="salmon",font=("arial",15,"bold"))
    label17.place(x=65,y=230)
    entry10=Entry(top,textvariable=kn)
    entry10.place(x=270,y=235)
    label18=Label(top,text="Address:",fg="midnightblue",font=("arial",15,"bold"))
    label18.place(x=65,y=260)
    entry11=Entry(top,textvariable=pn)
    entry11.place(x=270,y=265)
    button5=Button(top,text="INSERT 
    RECORD",width=12,fg="white",bg="forestgreen",command=dynamic_data_entry)
    button5.place(x=220,y=450)

但是我得到以下错误

    Exception in Tkinter callback
    Traceback (most recent call last):
    File "C:\Users\sapna\anaconda3\lib\tkinter\__init__.py", line 1705, in __call__
    return self.func(*args)
    File "C:\Users\sapna\Desktop\SAMARTH.py", line 70, in dynamic_data_entry
    entry4.delete(0,END)
    NameError: name 'entry4' is not defined

我无法理解是什么错误。我还导入了Entry Widget,但即使那样也无法解决问题,如果您能帮助我解决问题将非常有帮助 非常感谢

1 个答案:

答案 0 :(得分:0)

您已经在创建entry4之前对其进行了定义

insert()放在其他功能之前,您应该没事

如果您不是,请随时对此答案发表评论