2016-11-22 8 views
0

私は普通のキーをバインドしています。このように、Tkinterのを使用して機能を実行する実行します。テキストにhをあなたはhキーを押すとブロック通常のキー機能

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

、それはHIを出力するだけでなく、それがタイプボックス。 hの鍵をその通常の目的からブロックする簡単な方法はありますか?また、あなたのケースでは、あなたがlambdaを使用する必要はありません"break"

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

root.bind_all('h', h_key) 

文字列を返し、デフォルトの動作を阻害するように

+0

そのテキストフィールドの検証を一括して追加することも、他の人と同じようにキーバインドをCtrl-Hのように変更することもできます。 – TigerhawkT3

答えて

2

。実際には仕事に最適なツールでない限り、一般的にはlambdaの使用は避けてください。ほとんどの場合、バインディングの関数を記述するのが最善です。関数は、デバッグして維持するのがずっと簡単です。

+0

この回答は私よりもはるかに優れています。 – rassar

+0

@rassarあなた自身があなた自身を止める方法のようですが、これは最も簡単な方法です。 – nedla2004

関連する問題