按Enter键而不是单击按钮

use*_*351 3 python tkinter python-3.x

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

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()
Run Code Online (Sandbox Code Playgroud)

好吧如此重新编程,程序只是一个框架,带有文本字段,输入字段和一个按钮Enter.我想调用程序按钮调用而不实际按下按钮.我想在输入字段中输入文本,然后按Enter我的键盘来调用该函数.

这可能通过tkinter吗?

A. *_*das 6

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

inputfield.bind('<Return>', lambda _: program())
Run Code Online (Sandbox Code Playgroud)

由于回调函数用于bind接收一个参数(一个Tkinter事件),因此不能program直接使用该引用.因此,您可以使用lambda并将第一个参数命名为"不关心"变量_通用名称,而不是更改函数的定义.