2016-11-22 108 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