В функции Insert () я не могу извлечь данные из виджетов ввода (я использовал функцию .get в базе данных () для извлечения данных, и данные затем сохраняются в таблице, а затем их можно распечатать функцией Print ()). , Я также использовал .set для выпадающего меню, где
![This is what I enter](https://i.stack.imgur.com/2HhZs.png)
![This is my output](https://i.stack.imgur.com/cbz41.png)
from tkinter import *
import sqlite3
def Print():
conn = sqlite3.connect('Form.db')
with conn:
cursor=conn.cursor()
cursor = conn.execute("SELECT Fullname, Regnum, state FROM car")
print("Employee Details")
for value in cursor:
print("Name: "+str(value[0]))
print("Registration no.: "+value[1])
print("State: "+value[2])
print()
def database():
name1=Fullname.get()
regnum=Regnum.get()
state=c.get()
conn = sqlite3.connect('Form.db')
with conn:
cursor=conn.cursor()
cursor.execute('CREATE TABLE IF NOT EXISTS car (Fullname TEXT,Regnum TEXT,state TEXT)')
cursor.execute('INSERT INTO car (FullName,Regnum,state) VALUES(?,?,?)',(name1,regnum,state,))
conn.commit()
def Insert():
root=Tk()
fm = Canvas(root, width = 500, height = 500, bg="red")
label_0 = Label(root, text="Registration form",width=20,font=("bold", 20))
label_0.place(x=90,y=53)
label_1 = Label(root, text="FullName",width=20,font=("bold", 10))
label_1.place(x=80,y=130)
entry_1 = Entry(root,textvar=Fullname)
entry_1.place(x=240,y=130)
label_2 = Label(root, text="Registration Number",width=20,font=("bold", 10))
label_2.place(x=68,y=180)
entry_2 = Entry(root,textvar=Regnum)
entry_2.place(x=240,y=180)
label_4 = Label(root, text="state",width=20,font=("bold", 10))
label_4.place(x=70,y=280)
list1 = ['Maharashtra','Punjab','Haryana','Karnataka','West Bengal','Tamil Nadu'];
droplist=OptionMenu(root,c, *list1)
droplist.config(width=15)
c.set('select your state')
droplist.place(x=240,y=280)
Button(root, text='Submit',width=20,bg='brown',fg='white',command=database).place(x=180,y=430)
fm.pack()
root.mainloop()
top = Tk()
menu = Menu(top)
top.geometry('500x500')
Fullname=StringVar()
Regnum=StringVar()
c=StringVar()
top.config(menu=menu)
insertmenu=Menu(menu,tearoff=0)
menu.add_cascade(label="Insert", menu=insertmenu)
insertmenu.add_command(label="Insert", command=Insert)
printmenu=Menu(menu,tearoff=0)
menu.add_cascade(label="Print", menu=printmenu)
printmenu.add_command(label="Print", command=Print)
fm = Frame(top, width = 500, height = 500, bg="red")
head = Label(top, text=' Vehicle Registration Form ', font=("Arial", 15), bg="#90d2d8")
head.place(x=0,y=10)
fm.pack()
mainloop()