Python 3 Tkinter:带有条目小部件的 NameError:名称 'Entry' 未定义
Python 3 Tkinter: NameError with Entry widget: name 'Entry' is not defined
我正在使用 Tkinter 在 Python 3 上编写 GUI,但每次使用 Entry() 时,我都会收到名称错误。
我尝试了一个更简单的代码版本,(写在下面),但它仍然导致了 NameError:
import tkinter
top = tkinter.Tk()
e = Entry(top)
e.pack()
top.mainloop()
这是我得到的错误:
Traceback (most recent call last):
File "/home/pi/gui.py", line 4, in <module>
e = Entry()
NameError: name 'Entry' is not defined
我最近才重新开始编码,所以答案可能非常简单,我没有意识到代码有问题,但感谢您的回答。
您没有将 Entry
导入本地命名空间,因此您需要从您导入的模块访问它:
e = tkinter.Entry(top)
你没有导入它。将您的代码更改为:
e = tkinter.Entry(top)
或显式导入:
from tkinter import Entry
由于您导入了 tkinter 模块,每个 tkinter 操作都需要以 tkinter.[函数名称] 开头。
您也可以只添加:
from tkinter import [function name]
要导入多个函数,请用逗号分隔它们。
如果你使用的函数很多,最好每个函数都导入,用
from tkinter import *
我正在使用 Tkinter 在 Python 3 上编写 GUI,但每次使用 Entry() 时,我都会收到名称错误。
我尝试了一个更简单的代码版本,(写在下面),但它仍然导致了 NameError:
import tkinter
top = tkinter.Tk()
e = Entry(top)
e.pack()
top.mainloop()
这是我得到的错误:
Traceback (most recent call last):
File "/home/pi/gui.py", line 4, in <module>
e = Entry()
NameError: name 'Entry' is not defined
我最近才重新开始编码,所以答案可能非常简单,我没有意识到代码有问题,但感谢您的回答。
您没有将 Entry
导入本地命名空间,因此您需要从您导入的模块访问它:
e = tkinter.Entry(top)
你没有导入它。将您的代码更改为:
e = tkinter.Entry(top)
或显式导入:
from tkinter import Entry
由于您导入了 tkinter 模块,每个 tkinter 操作都需要以 tkinter.[函数名称] 开头。
您也可以只添加:
from tkinter import [function name]
要导入多个函数,请用逗号分隔它们。
如果你使用的函数很多,最好每个函数都导入,用
from tkinter import *