2011-12-07 83 views
0

我有一個輸入框,當我在其中輸入一些文本並單擊按鈕時,文本應該出現在標籤中。如何將輸入框的內容傳遞給標籤?

我寫了下面的內容,但我無法將輸入框的內容綁定到標籤上。

from Tkinter import * 

root = Tk() 


e = Entry(root) 
e.pack() 
def get_me(): 
    e.get() 
    print e.get() 
    #e.delete(0, END) 

bn = Button(root, text = "Click me", command = get_me) 
bn.pack() 

la = Label(root, font = "verdana 15 italic bold", width = 20, bg = "BLUE", fg = "RED", text = get_me) 
la.pack() 

mainloop() 

回答

3

Tkinter的部件參數可以用修改字典之類的語法,之後它們被 實例化。在文本的情況下,要更改的屬性爲「文本」 -

所以,只要這行添加到您的按鈕回調您例如:

la["text"] = e.get() 

在一個較大的程序時,一定要管理更好的變量名稱,以及哪些變量是全局變量,等等。建議是將所有Tkinter小部件捆綁爲類的成員,以便它們不依賴全局變量來訪問對方。

+0

你也可以使用'configure'方法來獲得相同的結果:'la.configure(text =「text」)' –

0

我不認爲你可以改變的Tkinter標籤的文本,但你可以這樣做:

from Tkinter import * 

root = Tk() 

e = Entry(root) 
e.pack() 
def get_me(): 
    v.set(e.get()) 

bn = Button(root, text = "Click me", command=get_me) 
bn.pack() 

v = StringVar() 
# we are creating a StringVar, assigning it to our label, and then change our StringVar 
la = Label(root, font = "verdana 15 italic bold", 
       width = 20, bg = "BLUE", fg = "RED", textvariable=v) 
la.pack() 

mainloop() 

如需更詳細的信息:effbot

+0

sinan @謝謝一噸。它工作 –

+0

@sinan:是的,你可以改變標籤的文字。 'la.configure(text ='my new text')' –