如何从 tkinter 条目为另一个函数生成位置参数
Posted
技术标签:
【中文标题】如何从 tkinter 条目为另一个函数生成位置参数【英文标题】:How to generate positional arguments for another function from tkinter entry 【发布时间】:2019-11-15 04:53:41 【问题描述】:这里是初学者。我正在尝试制作一个 gui 表单,将数据收集到 sql 数据库中,同时在树视图中显示它。
def adddata():
backend2.adddata(food.get(), transport.get(), insurance.get(), installments.get(), others.get())
例如,您可以看到我有 5 个输入字段,我需要从中获取数据并使用 adddata 函数将其传递到数据库中。想象一下,如果我必须再添加 5 个字段,并且我有 10 个这样的类似功能,那么手动将它们添加到代码中会很乏味。
因此,有没有办法生成位置参数列表以传递给 backend.adddata2() 函数?谢谢。
【问题讨论】:
如果你有一个参数元组args
,那么你可以调用backend2.addata(*args)
将所有Entry
保留在列表中,然后您可以使用for
循环对列表中的每个元素执行.get()
,然后您可以使用带有adddata()
的新列表。
【参考方案1】:
你可以这样做:
它将获取数据的关注点和存储数据的责任分开。当您有更多数据字段要收集和存储时,只有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)
【讨论】:
以上是关于如何从 tkinter 条目为另一个函数生成位置参数的主要内容,如果未能解决你的问题,请参考以下文章
python中tkinter treeview如何获取选中的条目
如何将捕获的输入从 tkinter 条目小部件写入 json 文件