使用字体模块不能运行命令行Tkinter的代码?(Tkinter code using font m

2019-10-23 09:50发布

我有使用,我可以从IDLE就好运行Tkinter的代码,但是其抛出异常AttributeError: 'module' object has no attribute 'font'时,它从所述命令行运行。 其他的Tkinter程序做工精细,但使用的Tkinter包的font.py东西给我这个错误。

我检查我的Python文件和C:/Python34/Lib/tkinter/font.py是存在的。 我不知道为什么,在命令行,它认为字体是一个属性,而不是Tkinter的包的模块。

示例代码:

import tkinter as tk
from tkinter import ttk

root = tk.Tk()

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

root.mainloop()

Answer 1:

同样在这里:

 Type "help", "copyright", "credits" or "license" for more information.
 >>> import tkinter as tk
 >>> tk.font
 AttributeError: 'module' object has no attribute 'font'

答案很简单:Python并不自动地导入所有模块层次结构,只是因为你导入的顶级之一。 这些谁做(如os ,这将使os.path提供)必须明确地编写代码为。

然而,由于IDLE使用tkinter本身,它已经进口tkinter.font ,因此你认为你可以逃脱而没有进口。 你不能。 只需添加import tkinter.font ,和它的作品。



文章来源: Tkinter code using font module can't run from command line?