Python名称错误

时间:2014-01-12 19:47:16

标签: python tkinter

我正在尝试学习python tkinter但是tkinter中的很多名称(根据文档)给了我错误。我尝试使用pydev进行eclipse,尽管编辑告诉我“tkinter.font”很好,但是当我运行它时会给我一个错误:

导入tkinter

打印(tkinter.font)

AttributeError:'module'对象没有属性'font'

如果我在IDLE中尝试这个可行,但我在IDLE中尝试了一些其他名称,例如scrolledtext,turtle,dnd,它们给我属性错误。

有人可以帮忙吗?这让我发疯了。

1 个答案:

答案 0 :(得分:2)

tkinter.font是Tkinter包中的模块。这意味着通常在执行import tkinter时不会导入。

要访问tkinter.font,您必须明确导入它:

>>> import tkinter
>>> tkinter.font
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'module' object has no attribute 'font'
>>>
>>> import tkinter.font
>>> tkinter.font
<module 'tkinter.font' from 'C:\\Python33\\lib\\tkinter\\font.py'>
>>>

但出于某种原因,当您在IDLE中执行tkinter.font时,会导入import tkinter 。我不知道这个的原因,但我猜这是为了方便。无论如何,最好总是明确地导入tkinter.font(和类似的模块),这样你的代码就可以在IDLE的内部和外部工作。