使用字体模块的Tkinter代码无法从命令行运行?

时间:2015-06-16 20:04:08

标签: python tkinter python-idle

我有使用tkinter的代码,我可以从IDLE运行,但是当从命令行运行时抛出异常AttributeError: 'module' object has no attribute 'font'。其他tkinter程序工作正常,但任何使用tkinter包的font.py都会给我这个错误。

我检查了我的python文件,c:/Python34/Lib/tkinter/font.py就在那里。我不确定为什么,从命令行,它认为font是一个属性而不是tkinter包的模块。

示例代码:

import tkinter as tk
from tkinter import ttk

root = tk.Tk()

test_font = tk.font.Font(size=12,weight='bold')

root.mainloop()

1 个答案:

答案 0 :(得分:4)

同样在这里:

os

答案很简单:Python不会自动导入所有模块层次结构,只是因为您导入了顶级层次结构。那些做(os.path,使tkinter可用)的人必须明确地为此编写代码。

但是,由于IDLE本身使用tkinter.font,因此它已经导入了import tkinter.font,因此您认为没有导入就可以逃脱。你不能。只需添加method即可。

相关问题