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:如果需要更多帮助,您需要创建显示问题的最小程序。通常情况下,简单地通过这些努力就能让问题变得明显。如果没有,请编辑您的问题以包含程序,也许我们可以发现您还有其他问题。