NameError:未定义名称'Tk
我第一次在我的电脑上尝试使用Tkinter,结果遇到了一个错误,标题上写着“NameError: name 'Tk' is not defined”,错误出现在“line root = Tk()”这一行。我一直没能让Tkinter正常工作。我现在使用的是macbook pro,Python版本是2.7.5。我已经尝试多次重新下载Python,但还是不行。
有没有人知道为什么它不工作?需要我提供更多信息吗?
提前谢谢大家!
#!/usr/bin/python
from Tkinter import *
root = Tk()
canvas = Canvas(root, width=300, height=200)
canvas.pack()
canvas.create_rectangle( 0, 0, 150, 150, fill="yellow")
canvas.create_rectangle(100, 50, 250, 100, fill="orange", width=5)
canvas.create_rectangle( 50, 100, 150, 200, fill="green", outline="red", width=3)
canvas.create_rectangle(125, 25, 175, 190, fill="purple", width=0)
root.mainloop()
3 个回答
0
你的代码是对的,但在导入代码的缩进上有问题。应该用两个空格,而不是一个空格。另外,尽量不要输入这个命令:
import tkinter
可以用这个代码:
from tkinter import *
root = Tk()
canvas = Canvas(root, width=300, height=200)
canvas.pack()
canvas.create_rectangle( 0, 0, 150, 150, fill="yellow")
canvas.create_rectangle(100, 50, 250, 100, fill="orange", width=5)
canvas.create_rectangle( 50, 100, 150, 200, fill="green", outline="red", width=3)
canvas.create_rectangle(125, 25, 175, 190, fill="purple", width=0)
root.mainloop()
问题可能还出在你输入了“Tkinter”,其实应该输入“tkinter”,因为Python是区分大小写的。我觉得这样应该可以正常工作,对我来说是这样。
2
请确保你的Python文件名不是"tkinter.py",否则会出现这个错误。
3
你有一个其他的模块,它的名字叫“Tkinter”,这个名字把你真正想用的那个模块给覆盖了。你需要把它改个名字或者把它删掉。
import Tkinter
print Tkinter.__file__