【问题标题】:How to not pass on Tkinter bind event to a function如何不将 Tkinter 绑定事件传递给函数
【发布时间】:2016-11-09 16:45:20
【问题描述】:

我遇到的问题是,当我尝试通过绑定将焦点设置在某事物上时,该事件被传递:

entry_1.bind("<Return>",entry_2.focus_set)

但是因为传递了事件而弹出错误。所以我尝试了 Lambda,而不是传递事件:

entry_1.bind("<Return>",lambda :entry_2.focus_set())

发生了同样的错误。我怎样才能停止传递事件?

【问题讨论】:

  • “传递”是指使用“事件”参数调用该函数吗?是的,您的函数(或 lambda)需要能够接受该参数。
  • 函数是预定义的,所以需要去掉,不要传下去,肯定不能接受。

标签: python python-3.x tkinter widget


【解决方案1】:
entry_1.bind("<Return>",lambda event :entry_2.focus_set())

这会将事件类直接传递给 event,它什么都不做,因此被忽略。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多