如何从 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 文件

如何为 Tkinter 条目小部件设置默认文本

在 Tkinter Python 中的条目小部件内设置默认插入符号位置

如何将输入键绑定到 tkinter 按钮

Tkinter 无法从条目中解码表情符号