2016-04-01 8 views
-1

Ben başarı, benim Tinter GirişTkinter neden değişen değere sahip olmayacak? Ben validate tıkladığında katları araştırmalardan sonra

benim program başlatmak

def mail(value): 
    print(value)  

value = StringVar() 
value.set("Default text") 
entree = Entry(fenetre, textvariable=value, validate="key", width=30) 
entree.pack() 
value = value.get() 
bouton1=Button(fenetre, text="Validate", command=lambda: mail(value)) 
bouton1.pack() 
değiştirilmiş kullanıcı girişi almak ve ben Entry metnini değiştirmek ne zaman ve hiç olamaz metin değeri değişmedi, neden? Girişin etiketini değiştirdiğimde, doğrulamayı tıklattığımda, her zaman "Varsayılan Metin" yazdı

cevap

3

Neredeyse value başvurusuna yeni bir değer atarsınız. Öncelikle value = StringVar() yapın, sonra birkaç satır sonra value = value.get() yapın. Bu noktada, value artık bir StringVar; Bu sadece bir dizedir. Bu ikinci ödevi kaldırın ve değeri almak için satırı Button ile değiştirin:

bouton1 = Button(fenetre, text="Validate", command=lambda: mail(value.get()))