【问题标题】:How to bind the Enter key to a button in Tkinter如何将 Enter 键绑定到 Tkinter 中的按钮
【发布时间】:2014-03-23 12:22:50
【问题描述】:

我有一个按钮:

button3 = Button(app, text="Show Members", width=15, command=lambda: showLDAPMembers(yourName,yourPassword))

如何将 ENTER 键绑定到它?我试着做:

app.bind('<Return>', showLDAPMembers(yourName,yourPassword))

但我得到未解决的参考错误..

def showLDAPMembers(yourName,yourPassword):
    app.lb.delete(0,END)

【问题讨论】:

标签: python tkinter


【解决方案1】:

如果要传递参数,则需要使用 lambda。

app.bind("<Return>", lambda x: showLDAPMembers(yourName,yourPassword))

bind 命令自动返回调用它的事件,因此您需要定义并丢弃它(使用lambda x:

【讨论】:

  • 做到了,谢谢..如果我有多个按钮要绑定 Enter 键怎么办?我需要让它将键绑定到按钮和活动条目吗?我有 2 个字段,group1 和 group2。我希望能够输入 group1,按 Enter,查看成员资格(列表框中的列表),并且与 group2 相同..
  • 您可以将一个键绑定到一个条目,因此当它处于活动状态并按下一个键时,它将调用您的函数: group1.bind('', lambda e: function(参数))。 effbot.org/tkinterbook/tkinter-events-and-bindings.htm
  • 三年后,我想指出,将其写成lambda evt: ...lambda _: ... 可能更符合习惯。前者告诉读者你期望什么参数,后者告诉读者你根本不会使用这个参数。然而,lambda x: ... 只是懒惰。
【解决方案2】:

首先你需要在你的函数中

def showLDAPMembers(event= None)

那么你可以使用bind方法来监听你的返回键

app.bind("<Return>",showLDAPMembers())

希望我的回答对你有帮助

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-10-30
    • 2018-10-03
    • 2018-05-08
    • 2020-04-08
    • 2021-10-09
    • 2015-03-02
    • 2020-05-31
    相关资源
    最近更新 更多