[英]How to extract input from tkinter entry widget? (Python tkinter)
在 Insert() 函數中,我無法從入口小部件中提取數據(我在 database() 函數中使用了 .get 來提取數據,並且數據存儲在表中,然后可以通過 Print() 函數打印)。 我還使用了 .set 作為下拉菜單 wh
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()
你可以像這樣全局化你的入口小部件
global entry_1
那么你可以在任何函數中使用 entry_1.get() 而不是使用 textvariables
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.