2017-08-15 5 views
1

キーボードイベントを1つの文字列に保存することは可能ですか?下のコードでは、1つのcharを格納して印刷します。カードリーダーまたはバーコードリーダーの場合、一度に1文字ではない文字/文字列の集合を含みます。目標は、すべての文字をテキスト変数に保存することです。python Tkinterキーボードイベントをキャプチャして1つの文字列として保存する

from tkinter import * 

root = Tk() 

def key(event): 
    text= event.char 
    text+= event.char 
    print ("pressed", text) 

def callback(event): 
    frame.focus_set() 
print ("clicked at", event.x, event.y) 

frame = Frame(root, width=100, height=100) 
frame.bind("<Key>", key) 
frame.bind("<Button-1>", callback) 
frame.pack() 

root.mainloop() 

答えて

2

現在、あなたは毎回key()関数が呼び出されるtext変数を作成し、それだけであなたが最後に入力した文字を保存するテキストです。私は関数の外でテキストを印刷することができますどのように

text = '' 
def key(event): 
    global text 
    text+= event.char 
    print("pressed", text) 
+0

はい、それを手に入れた、おかげでたくさんの男 –

+0

アナンド、 -

あなたはモジュールレベルの変数としてテキストを定義し、あなたのkey関数内でそのモジュールレベルtextを使用することができます –

+0

関数の外に 'text'変数を使用するだけで、今まで押されたすべての文字が含まれます。 –

関連する問題