python - 通过按 'Enter' 键而不是单击按钮来获取值

标签 python tkinter

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

最佳答案

您可以绑定(bind) <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()

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

关于python - 通过按 'Enter' 键而不是单击按钮来获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28282005/

相关文章:

python - PLY:快速解析长长的项目列表?

python - numpy 标准化 4D 数组的 2D 子集

python - 每当文本超过可视区域时,如何使文本自动向下滚动?

python - 将对象连接到 Treeview 小部件中的项目

python - 如何使用 tkinter 在窗口中显示值?

php - 方法: how to change URL without reloading page and index whole URL (with anchor # part)?

python - Pytest 从测试传递任意信息

python - 我可以更改 Tkinter 中的标题栏吗?

python - 南django.db.utils.IntegrityError : django_content_type. name may not be NULL while running unit tests

由于 tclError,使用 tkinter 的 python 程序无法运行