Python Tkinter-使用按钮传递值
如何通过按钮将参数传递给函数Python Tkinter-使用按钮传递值,python,tkinter,Python,Tkinter,如何通过按钮将参数传递给函数 variable = str() def RandomFunction(variable): print (variable) EntryBox = Entry(MainWindow, textvariable = variable).pack() FunctionCall = Button(MainWindow, text="Enter", command=RandomFunction(variable)) 当按下按钮时,它似乎什么也不打印。
variable = str()
def RandomFunction(variable):
print (variable)
EntryBox = Entry(MainWindow, textvariable = variable).pack()
FunctionCall = Button(MainWindow, text="Enter", command=RandomFunction(variable))
当按下按钮时,它似乎什么也不打印。我四处搜索,似乎使用
lambda
可以修复它,并允许(变量)传递给函数,但在尝试lambda variable:variable
之后,我仍然无法让它工作。使用lambda
创建一个使用参数调用函数的函数是可以的(只要你做得正确):
Python会对此感到高兴,因为
lambda
不接受任何参数。使用lambda
创建一个函数来调用带有参数的函数是可以的(只要操作正确):
Python会对此感到高兴,因为
lambda
不接受任何参数。使用lambda
创建一个函数来调用带有参数的函数是可以的(只要操作正确):
Python会对此感到高兴,因为
lambda
不接受任何参数。使用lambda
创建一个函数来调用带有参数的函数是可以的(只要操作正确):
Python会对此感到高兴,因为lambda
不接受任何参数。您可以使用.get()从effbot页面获取条目的内容
您可以使用.get()从effbot页面获取条目的内容
您可以使用.get()从effbot页面获取条目的内容
您可以使用.get()从effbot页面获取条目的内容
这里的其他答案是有效的,但就像生活中的很多事情一样,有不止一种方法可以做你想做的事情 您问题中的代码实际上混合了从Entry widget获取数据的两种方法。您使用的是textvariable和lambda,但您只需要一种。看起来lambda已经被介绍过了,所以这里有一个关于textvariable的快速答案: 首先,您需要将变量设置为Tkinter字符串类型,如下所示:
variable = StringVar()
您的entry小部件很好,它连接到StringVar()。但是,您的按钮不需要lambda,因为您不需要将参数传递给RandomFunction()
最后,您的函数需要稍作修改,因为它不再接受参数,只要在调用StringVar()时使用.get()方法:
def RandomFunction():
print(variable.get())
你可以在这里阅读更多关于StringVar()的内容:这里的其他答案也适用,但就像生活中的许多事情一样,有不止一种方法可以完成你想做的事情 您问题中的代码实际上混合了从Entry widget获取数据的两种方法。您使用的是textvariable和lambda,但您只需要一种。看起来lambda已经被介绍过了,所以这里有一个关于textvariable的快速答案: 首先,您需要将变量设置为Tkinter字符串类型,如下所示:
variable = StringVar()
您的entry小部件很好,它连接到StringVar()。但是,您的按钮不需要lambda,因为您不需要将参数传递给RandomFunction()
最后,您的函数需要稍作修改,因为它不再接受参数,只要在调用StringVar()时使用.get()方法:
def RandomFunction():
print(variable.get())
你可以在这里阅读更多关于StringVar()的内容:这里的其他答案也适用,但就像生活中的许多事情一样,有不止一种方法可以完成你想做的事情 您问题中的代码实际上混合了从Entry widget获取数据的两种方法。您使用的是textvariable和lambda,但您只需要一种。看起来lambda已经被介绍过了,所以这里有一个关于textvariable的快速答案: 首先,您需要将变量设置为Tkinter字符串类型,如下所示:
variable = StringVar()
您的entry小部件很好,它连接到StringVar()。但是,您的按钮不需要lambda,因为您不需要将参数传递给RandomFunction()
最后,您的函数需要稍作修改,因为它不再接受参数,只要在调用StringVar()时使用.get()方法:
def RandomFunction():
print(variable.get())
你可以在这里阅读更多关于StringVar()的内容:这里的其他答案也适用,但就像生活中的许多事情一样,有不止一种方法可以完成你想做的事情 您问题中的代码实际上混合了从Entry widget获取数据的两种方法。您使用的是textvariable和lambda,但您只需要一种。看起来lambda已经被介绍过了,所以这里有一个关于textvariable的快速答案: 首先,您需要将变量设置为Tkinter字符串类型,如下所示:
variable = StringVar()
您的entry小部件很好,它连接到StringVar()。但是,您的按钮不需要lambda,因为您不需要将参数传递给RandomFunction()
最后,您的函数需要稍作修改,因为它不再接受参数,只要在调用StringVar()时使用.get()方法:
def RandomFunction():
print(variable.get())
您可以阅读有关StringVar()的更多信息这里:什么是变量?它没有在那个代码中定义。字符串,在开始时初始化它。关于我的答案呢?我认为你没有正确使用
lambda
。还有,条目
小部件在这里的意义是什么?什么是变量?它没有在那个代码中定义。字符串,在开始时初始化它关于我的答案?我不要认为您正确使用了lambda
。还有,Entry
小部件在这里的意义是什么?变量是什么?它没有在该code.string中定义,在开始时就初始化了。关于我的答案,我认为您没有正确使用lambda
。另外,条目的意义是什么dget在这里?什么是变量?它没有在那个code.string中定义,在开始时初始化了它。关于我的答案呢?我认为你没有使用lambda
正确