2017-12-27 772 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