2016-11-20 57 views
-3

我已經創建了一個程序來記錄文本框中的輸入。在此之後,它會打印文本 下面是代碼:python 3.5 tkinter文本框記錄

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() 

我希望我能以最快的速度得到了響應,posiblle

+1

'retrieve_input'完全沒有使用。你想什麼時候叫它? – falsetru

+1

您的問題不包括問題。問題是什麼,您需要哪些解決方案幫助? –

回答

0

你必須使用retrieve_input。您可以bind()它到Entry,並在Enter被按下時執行。

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

然後你就可以添加新Label或在現有的替換文本。

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()