按Enter键而不是单击按钮

时间:2013-06-09 18:19:56

标签: python python-3.x tkinter

我有一个我想要使用的程序框架:

from tkinter import *
import urllib
import urllib.request
import xml.etree.ElementTree as ET
root = Tk()

def program():
    print('Hello')

tex=Text(root)
tex.pack(side='right')
inputfield = Entry(root)
inputfield.pack(side='bottom')
text = inputfield.get()
but = Button(root,text="Enter", command = program) 
but.pack(side='bottom')

root.mainloop()

好了,重新点击,程序只是一个带有文本字段,输入字段和一个显示Enter的按钮的框架。我想调用程序按钮调用而不实际按下按钮。我想在输入字段中输入文本,然后按键盘上的 Enter 来调用该函数。

这可以通过tkinter吗?

1 个答案:

答案 0 :(得分:6)

是的,有可能。您只需将Entry小部件与事件<Return>绑定:

inputfield.bind('<Return>', lambda _: program())

由于bind中使用的回调函数接收一个参数(Tkinter事件),因此不能直接使用对program的引用。因此,您可以使用lambda并将第一个参数命名为_,而不是更改函数的定义,而不是common name for "don't care" variables