2015-06-20 19 views
0
from Tkinter import * 
root = Tk() 
ticker1 = StringVar() 
ticker2 = StringVar() 
root.title("Choose Companies") 
Label(root, 
      text = "Company No. 1", 
      fg = "black", 
      font ="Helvetica 16 italic").pack() 
name = Entry(root,name = ticker1).pack() 
Label(root, 
      text = "Company No. 2", 
      fg = "black", 
      font ="Helvetica 16 italic").pack() 
name1 = Entry(root,name1 = ticker2).pack() 
root.mainloop() 

代碼不工作,它給了我這個錯誤:的Python:Tkinter的Entry組件不工作

exceptions.TypeError: cannot concatenate 'str' and 'instance' objects

格式獲得在Python GUI中的條目小部件看起來是正確的。
我使用Python 2.7版Windows 8.1中

+0

我發現沒有提到所謂的命名參數的'這裏http://effbot.org/tkinterbook/entry.htm – Rishav

+0

name'要從'Entry'獲取文本中使用'得到()' – Rishav

+0

並且使用'e = Entry(master,textvariable = v)'綁定一個StringVar,其中v是一個StringVar,master是Tkinter實例。 – Rishav

回答

1

Entry類構造函數沒有關鍵字參數命名name1,您可以在StringVar實例傳遞給textvariable關鍵字參數,並通過調用對StringVar實例的get()方法檢索文本。或者,您可以調用Entry實例本身的get()方法。

例子:

var = StringVar() 
entry = Entry(root, textvariable=var) 
entry.pack() 

var.set('default value') 
input = var.get() 
+0

你應該提到OP應該使用'textvariable'綁定一個StringVar – Rishav

+0

@ xrisk的好處,補充說。 – uname01