【问题标题】:how can I pass parameters in a lambda expression? Tkinter如何在 lambda 表达式中传递参数?特金特
【发布时间】:2019-12-02 14:10:24
【问题描述】:

我在 tkinter 中有一个由按钮组成的键盘,当单击它们时,它们会将其数字添加到字符串“输入的金额”中,该字符串将在最后转换为浮点数。

AmountEntered = ""

Number = tk.Button(self, text = "7", command = lambda AmountEntered: AmountEntered + "7")
Number.grid(row = 0, column = 0, sticky='nsew')        

然而,当我点击时,我得到了错误 TypeError: () 缺少 1 个必需的位置参数:'AmountEntered'

我以为第一个 AmountEntered 是参数,这是指什么?

【问题讨论】:

  • 你的问题是“传递参数...”:你的函数在哪里,你要传递范围? Edit 你的问题。

标签: python function tkinter lambda


【解决方案1】:

问题不在于 lambda 表达式;假设回调函数将使用参数调用的问题。不会的。 AmountEntered 确实是一个全局变量,所以你只需要

Number = tk.Button(self, text="7", command=lambda: AmountEntered + "7")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多