Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Tkinter-使用按钮传递值_Python_Tkinter - Fatal编程技术网

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
正确