2017-08-15 30 views
1

是否有可能將鍵盤事件存儲到一個字符串?下面的代碼只存儲一個字符並打印出來。但對於讀卡器或條形碼閱讀器,它包含一次一個字符而不是一個字符的字符集合。目標是將所有的字符保存到文本變量中。蟒蛇Tkinter捕獲鍵盤事件保存爲一個單一的字符串

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

目前,正在創建text變量,每次的key()函數被調用,和文本只保存您鍵入的最後一個字符。

您可以定義文本作爲一個模塊級變量,並使用該模塊級textkey函數中 -

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

是明白了,非常感謝的人 –

+0

阿南德,我怎麼能打印功能之外的文本 –

+0

只是在函數外部使用'text'變量,它會包含所有到目前爲止按下的字符。 –