这里是初学者。我试图做一个gui形式,将数据收集到sql数据库中,并同时在树视图中显示它。
def adddata():
backend2.adddata(food.get(), transport.get(), insurance.get(), installments.get(), others.get())
对于示例,您可以看到我有5个输入字段,我需要从这些字段中获取数据并使用adddata函数将其传递到数据库中。想象一下,如果我必须再添加5个字段,而我又有10个类似的函数,将它们手动添加到代码中将很繁琐。
因此,有一种方法可以生成位置参数列表以传递给backend.adddata2()函数吗?谢谢。
答案 0 :(得分:0)
您可以执行以下操作:
它分开了获取数据和存储数据的责任。当您有更多数据字段需要收集和存储时,只有get_data
才需要更新。
def get_data():
food_ = food.get()
transport_ = transport.get()
insurance_ = insurance.get()
installments_ = installments.get()
others_ = others.get()
return food_, transport_, insurance_, installments_, others_
def adddata():
data = get_data()
backend2.adddata(*data)
答案 1 :(得分:0)
通常,我首先会创建一个条目字段名称的列表,然后使用for
循环来创建条目并将其存储在另一个列表中。这给您带来的好处是,如果您需要创建其他条目,只需要将名称添加到初始列表中即可。
import tkinter as tk
root = tk.Tk()
entry_holder = []
info = ["food","transport","insurance","installments","others"]
for i in info:
a = tk.Entry(root)
a.insert(0,f"{i} test data")
a.pack()
entry_holder.append(a)
def adddata():
results = [i.get() for i in entry_holder]
print (results)
#backend2.adddata(*results)
tk.Button(root,text="Send data",command=adddata).pack()
root.mainloop()