2016-11-22 73 views
0

我绑定一个正常的关键不运行使用Tkinter的功能,如:座标准按键功能

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

当您按下h键,它打印HI,而且这类型的h到文本框。有没有简单的方法来阻止密钥执行其正常目的?

+0

您可以为该文本字段添加一大堆验证,或者像其他人一样,可以将Ctrl-H更改为Ctrl-H之类的内容。 – TigerhawkT3

回答

2

为了抑制默认行为,返回字符串"break"

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

root.bind_all('h', h_key) 

而且,你的情况你不使用lambda需要。一般来说,你应该避免使用lambda,除非它真的是这项工作的最佳工具。通常最好为绑定编写一个函数。功能更易于调试和维护一段时间。

+0

这个答案比我的好得多。 – rassar

+0

@rassar你似乎是自己阻止它的方法,但这是最简单的方法。 – nedla2004