[英]how to .get() all entry box insert into sqlite 3 in python tkinter
how to.get() 将所有输入框插入 sqlite 3 in python tkinter
我有创建循环输入框
我已经尝试了所有条目 boxes.get() 并插入到 sqlite 3
但只插入最后三个输入框
我已将所有盒子插入 sqlite 3
所有输入框插入 sqlite 单排 3
import sqlite3
#------------------------------------
class sample:
def __init__(self, root):
self.root = root
self.all_entries = []
showButton = Button(root, text='Show all text', command=self.showEntries)
showButton.pack()
addboxButton = Button(root, text='<Add Time Input>', fg="Red", command=self.addBox)
addboxButton.pack()
savee = Button(root, text='Save', fg="green", command=self.save)
savee.pack()
def save(self):
print(self.all_entries)
con = sqlite3.connect(database=r'data.db')
cur = con.cursor()
cur.execute("Insert into e_transations (sl,id,datee) values(?,?,?)", (
self.ent1.get(), self.ent2.get(), self.ent3.get()
))
con.commit()
def addBox(self):
frame = Frame(root)
frame.pack()
Label(frame, text='From').grid(row=0, column=0)
self.ent1 = Entry(frame)
self.ent1.grid(row=1, column=0)
Label(frame, text='To').grid(row=0, column=1)
self.ent2 = Entry(frame)
self.ent2.grid(row=1, column=1)
self.ent3 = Entry(frame)
self.ent3.grid(row=1, column=2)
self.all_entries.append((self.ent1, self.ent2,self.ent3))
# ------------------------------------
def showEntries(self):
for number, (self.ent1,self.ent2,self.ent3) in enumerate(self.all_entries):
print(number, self.ent1.get(), self.ent2.get(), self.ent3.get())
# ------------------------------------
root = Tk()
obj = sample(root)
root.mainloop()
save()
应该保存self.all_entries
中所有条目的值,而不仅仅是最后一个self.ent1
、 self.ent2
和self.ent3
。
def save(self):
print(self.all_entries)
con = sqlite3.connect(database=r'data.db')
cur = con.cursor()
values = [[entry.get for entry in entry_set] for entry_set in self.all_entries]
cur.executemany("Insert into e_transations (sl,id,datee) values(?,?,?)", values)
con.commit()
self.all_entries
应该包含来自条目小部件的.get()
的值,而不是
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.