如何定义具有 2 个参数的函数,其中一个是 Tkinter 'event' 参数?

How do I define a function having 2 parameters, with one being a Tkinter 'event' parameter?

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

然后这个单词列表将用作另一个函数'startgame()'的参数,这也是我的Tkinter window的'event',它是显示获取的单词根据用户的选择从文件中选择。

但是,这里的问题是,当一个函数是一个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'

我已经尝试了多种方法来修复这个bug,到目前为止都没有成功。请帮帮我!

应该这样做:

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'

通过使用 lambda,您可以向绑定添加额外的参数。