Python 我如何定义一个有两个参数的函数,其中一个是Tkinter';事件';参数
我正在编写一个程序,根据用户的选择从特定文本文件中读取单词列表 然后,此单词列表将用作另一个函数“startgame()”的参数,该函数也是我的Tkinter窗口的“事件”,该窗口将根据用户的选择显示从文件中提取的单词 然而,这里的问题是,当一个函数是Tkinter事件时,只能有这一个参数,因此我无法使用获取的单词作为参数 这里有一个最小的可复制示例供参考-Python 我如何定义一个有两个参数的函数,其中一个是Tkinter';事件';参数,python,function,tkinter,parameters,arguments,Python,Function,Tkinter,Parameters,Arguments,我正在编写一个程序,根据用户的选择从特定文本文件中读取单词列表 然后,此单词列表将用作另一个函数“startgame()”的参数,该函数也是我的Tkinter窗口的“事件”,该窗口将根据用户的选择显示从文件中提取的单词 然而,这里的问题是,当一个函数是Tkinter事件时,只能有这一个参数,因此我无法使用获取的单词作为参数 这里有一个最小的可复制示例供参考- window = Tk() def func1(): fh = open("file.txt&
window = Tk()
def func1():
fh = open("file.txt")
reader = fh.read()
fetched_words = reader.split('|')
window.bind('<Return>', func2)
def func2(event): # here I need to add another parameter
word_display.configure(text=fetched_words[0]) # must have argument 'words' instead of 'fetched_words'
window=Tk()
def func1():
fh=打开(“file.txt”)
reader=fh.read()
fetched_words=reader.split(“|”)
window.bind(“”,func2)
def func2(事件):#这里我需要添加另一个参数
word_display.configure(text=fetched_words[0])#必须具有参数“words”而不是“fetched_words”
我已经尝试了多种方法来修复这个错误,但到目前为止都没有成功。请帮帮我 这应该可以做到:
window = Tk()
def func1():
fh = open("file.txt")
reader = fh.read()
fetched_words = reader.split('|')
window.bind('<Return>', lambda event: func2(event, fetched_words))
def func2(event, fetched_words): # here I need to add another parameter
word_display.configure(text=fetched_words[0]) # must have argument 'words' instead of 'fetched_words'
window=Tk()
def func1():
fh=打开(“file.txt”)
reader=fh.read()
fetched_words=reader.split(“|”)
绑定(“”,lambda事件:func2(事件,获取的单词))
def func2(事件,获取的单词):#这里我需要添加另一个参数
word_display.configure(text=fetched_words[0])#必须具有参数“words”而不是“fetched_words”
通过使用lambda,您可以向绑定添加额外的参数。请提供一个示例。我已编辑了我的问题,并尽我最大的努力解释了这一问题。非常感谢您的解决方案,我已经为这个问题困扰了数周!它现在工作得很好!很高兴我能帮忙!如果你觉得这个答案有用,请接受