2016-08-20 8 views
0

Von der ersten Antwort hier: StackOverflow #6548837 I Rückruf aufrufen kann, wenn der Benutzer die Eingabe ist:Ereignis Rückruf nach einem Tkinter Eintrag Widget

from Tkinter import * 

def callback(sv): 
    print sv.get() 

root = Tk() 
sv = StringVar() 
sv.trace("w", lambda name, index, mode, sv=sv: callback(sv)) 
e = Entry(root, textvariable=sv) 
e.pack() 
root.mainloop() 

jedoch das Ereignis eintritt auf jedem eingegebene Zeichen. So rufen Sie das Ereignis auf, wenn der Benutzer mit der Eingabe fertig ist und die Eingabetaste drückt, oder das Eingabe-Widget verliert den Fokus (d. H. Der Benutzer klickt woanders hin)?

Antwort

2

Ich denke, das macht, was Sie suchen. Ich habe relevante Informationen gefunden here. Die bind Methode ist der Schlüssel.

from Tkinter import * 

def callback(sv): 
    print sv.get() 

root = Tk() 

sv = StringVar() 
e = Entry(root, textvariable=sv) 
e.bind('<Return>', (lambda _: callback(e))) 

e.pack() 
root.mainloop() 
Verwandte Themen