2016-11-20 6 views
-3

Ich habe ein Programm erstellt, um die Eingabe in einem Textfeld aufzuzeichnen. Danach würde es in einem Text Hier drucken ist der Code:Python 3.5 tkinter Textfeld Aufnahme

from tkinter import* 
window = Tk() 
window.geometry("500x300") 
a = Label(window, text="hi", font=('Helvetica', 32)) 
a.place(x=70, y = 80) 
entry_box2=Entry(window,) 
entry_box2.place(x=110, y=100) 
def retrieve_input(): 
    input = entry_box2.get("1.0",'end-1c') 
    a = Label(window, text= input, font=('Helvetica', 32)) 
    a.place(x=70, y = 80) 
window.mainloop() 

Ich hoffe ich, eine Antwort so schnell wie posiblle bekommen konnte

+1

'retrieve_input' wird überhaupt nicht verwendet. Wann soll es heißen? – falsetru

+1

Ihre Frage enthält keine Frage. Was ist das Problem und für welchen Teil der Lösung benötigen Sie Hilfe? –

Antwort

0

Sie haben retrieve_input zu verwenden. Sie können bind() es zu Entry und ausführen, wenn Enter gedrückt wird.

entry_box2.bind('<Return>', retrieve_input) 

Und dann können Sie neue Label Text hinzufügen oder ersetzen eine in bestehenden.

import tkinter as tk 

# --- functions --- 

def retrieve_input(event): 
    # get text from Entry 
    #txt = ent.get() 
    txt = event.widget.get() 

    # create new label with text 
    l = tk.Label(root, text=txt) 
    l.pack() 

    # or change existing label 
    lab['text'] = txt 

    # clear entry 
    #ent.delete(0, len(txt)) 
    event.widget.delete(0, len(txt)) 

# --- main --- 

root = tk.Tk() 

lab = tk.Label(root, text="Hello") 
lab.pack() 

ent = tk.Entry(root) 
ent.pack() 
ent.bind('<Return>', retrieve_input) 

root.mainloop()