【发布时间】:2015-03-09 05:50:33
【问题描述】:
我正在使用 Python 3 中的 tkinter 开发 GUI,并且我有一个名为 inputFilePathDisplay 的 Entry 文本框,具有以下绑定:
inputFilePathDisplay.bind("<Key>", lambda event, filePath = inputFilePath: key(event, filePath))
当按键被按下时,我有以下回调函数:
#input functions -- see if the user has entered text
def key(event, filePath):
filePath = event.widget.get()
我的目标是获取Entry 框中的输入并将其分配给inputFilePath。我可以看到filePath 变量在key() 函数中发生了变化,但inputFilePath 的值没有更新。我对 Python 还很陌生,所以我不太熟悉它如何处理通过引用传递参数。我错过了什么?
感谢您的宝贵时间。
【问题讨论】:
-
Python 按值传递参数。然而,python 中的 all 值只是对对象的引用。您可以说发生的情况是它是通过 copy 的引用传递的。希望,如果您考虑一下这个问题,您会更好地理解发生了什么。
标签: python user-interface callback tkinter event-handling