当我点击提交按钮时,我使用以下代码尝试获取要打印的输入/输入框的内容,但是,似乎没有任何事情发生。
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()
有谁可以指出我在这里做错了什么?
答案 0 :(得分:1)
ValekHalfHeart的评论是正确的。
执行command=submit_answer(entryWidget.get()))
时,它会执行submit(entryWidget.get())
一次,然后使用该函数的结果(可能是None
)作为点击事件。这不是你想要的。
当您将其包裹在lambda
中时,每次单击时都会执行该功能。要使其正常工作,您应该command=lambda:submit_answer(entryWidget.get())