我有一个我想要使用的程序框架:
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吗?
答案 0 :(得分:6)
是的,有可能。您只需将Entry小部件与事件<Return>
绑定:
inputfield.bind('<Return>', lambda _: program())
由于bind
中使用的回调函数接收一个参数(Tkinter事件),因此不能直接使用对program
的引用。因此,您可以使用lambda并将第一个参数命名为_
,而不是更改函数的定义,而不是common name for "don't care" variables。