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