Python 我如何定义一个有两个参数的函数,其中一个是Tkinter';事件';参数

Python 我如何定义一个有两个参数的函数,其中一个是Tkinter';事件';参数,python,function,tkinter,parameters,arguments,Python,Function,Tkinter,Parameters,Arguments,我正在编写一个程序,根据用户的选择从特定文本文件中读取单词列表 然后,此单词列表将用作另一个函数“startgame()”的参数,该函数也是我的Tkinter窗口的“事件”,该窗口将根据用户的选择显示从文件中提取的单词 然而,这里的问题是,当一个函数是Tkinter事件时,只能有这一个参数,因此我无法使用获取的单词作为参数 这里有一个最小的可复制示例供参考- window = Tk() def func1(): fh = open("file.txt&

我正在编写一个程序,根据用户的选择从特定文本文件中读取单词列表

然后,此单词列表将用作另一个函数“startgame()”的参数,该函数也是我的Tkinter窗口的“事件”,该窗口将根据用户的选择显示从文件中提取的单词

然而,这里的问题是,当一个函数是Tkinter事件时,只能有这一个参数,因此我无法使用获取的单词作为参数

这里有一个最小的可复制示例供参考-

    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,您可以向绑定添加额外的参数。

请提供一个示例。我已编辑了我的问题,并尽我最大的努力解释了这一问题。非常感谢您的解决方案,我已经为这个问题困扰了数周!它现在工作得很好!很高兴我能帮忙!如果你觉得这个答案有用,请接受