2017-12-27 837 views
-2

這裏是我的代碼:的Python的Tkinter名稱錯誤

import sys 
from tkinter import* 

myGui=Tk() 
nameentr=StringVar() 

#myGui.geometry('450x450') 
myGui.title('Playing with the layout of Buttons') 

Label1=Label(myGui,text='Enter Text Here').pack() 
textentry1=Entry(myGui,textvariable=nameentry).pack() 

button1=Button(myGui,text='Button 1').pack(side=LEFT,padx=5) 
button2=Button(myGui,text='Button 2').pack(side=LEFT,padx=5) 
button3=Button(myGui,text='Button 3').pack(side=LEFT,padx=5) 
button4=Button(myGui,text='Button 4').pack(side=LEFT,padx=5) 

這裏是我的問題:

textentry1=Entry(myGui,textvariable=nameentry).pack() 
NameError: name 'nameentry' is not defined 

可能有人請修正這個錯誤?謝謝

+0

你應該在不同的行上爲你的所有小部件調用'pack'。就像現在一樣,你的小部件的所有__都是匿名的,並且存儲爲「無」。例如'print(button1)'例如返回'> None'。 – Nae

+4

調試的第一條規則是假設錯誤消息告訴你一些有用的東西。在這種情況下,它絕對是。 –

+0

我認爲這是一個很好的問題。 OP可能無法從錯誤Traceback中自行調試他們的代碼,但他們提出的問題相當不錯。我不明白爲什麼有人會這樣做。 – Nae

回答

1

您沒有定義nameentry,而是nameentrnameentr=StringVar()line 5