3

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

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 实现吗?

4

1 回答 1

6

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

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

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

于 2013-06-09T18:27:18.953 回答