0

当我单击提交按钮时,我正在使用以下代码尝试获取要打印的输入/输入框的内容,但是,似乎没有任何反应。

def submit_answer(response):
    print(response)


def get_answer():
    root = Tkinter.Tk()

    contentFrame = Tkinter.Frame(root)

    entryWidget = Tkinter.Entry(contentFrame)
    entryWidget['width'] = 50
    entryWidget.pack()

    contentFrame.pack()

    button = Tkinter.Button(root, text='Submit', command=submit_answer(entryWidget.get()))
    button.pack()

    root.mainloop()

谁能指出我在这里做错了什么?

4

1 回答 1

1

ValekHalfHeart 的评论是正确的。

当你这样做时command=submit_answer(entryWidget.get())),它会执行submit(entryWidget.get())一次,然后使用该函数的结果(可能None)作为点击事件。这不是你想要的。

当您将其包装在 alambda中时,每次单击时都会执行该函数。为了让它工作,你应该有command=lambda:submit_answer(entryWidget.get())

于 2012-11-13T06:47:05.250 回答