【问题标题】:Block Normal Key Function块普通键功能
【发布时间】:2017-04-05 13:36:23
【问题描述】:

我正在绑定一个普通键,使用 Tkinter 运行一个函数,如下所示:

from tkinter import *
root = Tk()
T = Text()
T.pack()
root.bind_all('h', lambda event: print('HI'))

当您按下h 键时,它会打印HI,但也会在文本框中输入h。有什么简单的方法可以阻止h 键发挥其正常作用吗?

【问题讨论】:

  • 您可以为该文本字段添加一大堆验证,或者您可以像其他人一样将键绑定更改为 Ctrl-H。

标签: python tkinter keyboard keyboard-events


【解决方案1】:

要禁止默认行为,请返回字符串"break"

def h_key(event):
    ...
    return "break"

root.bind_all('h', h_key)

另外,在您的情况下,您不需要使用lambda。一般来说,您应该避免使用lambda,除非它确实是完成这项工作的最佳工具。大多数情况下,最好为绑定编写一个函数。随着时间的推移,函数更容易调试和维护。

【讨论】:

  • 这个答案比我的好很多。
  • @rassar Yours 似乎是自己阻止它的方法,但这是最简单的方法。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-11
  • 2012-07-31
  • 2022-06-16
  • 2010-12-25
  • 2019-04-26
  • 2020-03-14
相关资源
最近更新 更多