Python tkinter.font.font()不起作用

Python tkinter.font.font()不起作用,python,fonts,tkinter,Python,Fonts,Tkinter,为什么这不起作用?我的电脑上有Consolas字体,但下面的代码只使用默认字体。似乎唯一有效的字体是tkinter安装的Courier字体 font\u consolas=tkinter.font.font(root,family=“consolas”) 使用exists=True运行它会显示以下错误: 回溯(最近一次呼叫最后一次): 文件“”,第1行,在 font\u consolas=tkinter.font.font(root,family=“consolas”,exists=True)

为什么这不起作用?我的电脑上有
Consolas
字体,但下面的代码只使用默认字体。似乎唯一有效的字体是tkinter安装的
Courier
字体

font\u consolas=tkinter.font.font(root,family=“consolas”)
使用
exists=True运行它会显示以下错误:

回溯(最近一次呼叫最后一次):
文件“”,第1行,在
font\u consolas=tkinter.font.font(root,family=“consolas”,exists=True)
文件“C:\Python33\lib\tkinter\font.py”,第86行,在\uuu init中__
“命名字体%s不存在”%(self.name,))
_tkinter.TclError:命名字体font1不存在
我确实安装了字体,并由

tkinter.font.families()中的“ConsoleAs”==True
不过,在列表中指定字体是可行的

font_consolas=[“consolas”,]

根据文档,
Font(…)
将在断言(
exists=True
)为false时抛出错误。断言基于新字体的名称,而不是基于的字体名称

它没有抛出错误,因为
Consolas
字体不存在,而是它试图用新名称创建新字体,而新字体不存在。因为你没有给它一个名字,它会选择一个唯一的名字,因为根据定义一个唯一的名字以前不存在,你会得到错误。实际上你说的是“为我的字体创建一个唯一的名称,如果这个唯一的名称不是唯一的,则抛出一个错误”


换句话说,它正在执行文档中规定的操作。

如果我删除
exists=True
,它不会抛出错误,但字体不起作用(这是默认设置)。@minerz029:如果需要更多帮助,您需要创建显示问题的最小程序。通常情况下,简单地通过这些努力就能让问题变得明显。如果没有,请编辑您的问题以包含程序,也许我们可以发现您还有其他问题。