按“Enter”键而不是单击按钮获取值

时间:2015-02-02 16:16:35

标签: python tkinter

我在python(Tkinter)中创建了一个程序,它接受用户名和密码作为输入和一个按钮,当按下该按钮时,它会通过一个检查用户名和密码并进一步运行程序的功能。我想要的是,用户不按下按钮,而是按下“输入”按钮。键和按钮的功能。请帮忙。

3 个答案:

答案 0 :(得分:1)

您可以使用某种方法绑定<Return>小部件上的Entry事件(这将执行您想要的操作):

# binding <Return> event

import tkinter as tk
import tkinter.messagebox as msg

def show(event=None): # handler
    msg.showinfo('name', 'Your name is ' + inp.get())

m = tk.Tk()

prompt = tk.Label(m, text='Name: ')
prompt.pack(fill='x', side='left')

inp = tk.Entry(m)
inp.bind('<Return>', show) # binding the Return event with an handler
inp.pack(fill='x', side='left')

ok = tk.Button(m, text='GO', command=show)
ok.pack(fill='x', side='left')

m.mainloop()

如果您想了解有关事件绑定的更多信息,请参阅此effbot's page,这很容易理解。

答案 1 :(得分:0)

我相信你会想要将密钥绑定到你的处理程序:frame.bind('<Return>', some_handler)

答案 2 :(得分:0)

对我来说,对函数的正常绑定不起作用。可能是因为我在一个类中使用它,我使用了Lambda函数并且它起作用了。这是代码:

inp.bind('',lambda _:show())

相关问题