阻止普通键功能

Block Normal Key Function

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

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

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

要抑制默认行为,return 字符串 "break"

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

root.bind_all('h', h_key)

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