我正在尝试学习python tkinter但是tkinter中的很多名称(根据文档)给了我错误。我尝试使用pydev进行eclipse,尽管编辑告诉我“tkinter.font”很好,但是当我运行它时会给我一个错误:
导入tkinter
打印(tkinter.font)
AttributeError:'module'对象没有属性'font'
如果我在IDLE中尝试这个可行,但我在IDLE中尝试了一些其他名称,例如scrolledtext,turtle,dnd,它们给我属性错误。
有人可以帮忙吗?这让我发疯了。
答案 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的内部和外部工作。