tkinter 中的抗锯齿字体?

Anti-aliased fonts in tkinter?

有没有办法在 tkinter 中获得消除锯齿的字体?如果我像这样增加默认字体的大小:

default_font = tkFont.nametofont("TkDefaultFont")
default_font.configure(size=32)

文本出现锯齿状。

这里是一些版本信息:

Python 2.7.9 (default, May  6 2015, 09:33:48) 
>>> Tkinter.__version__
'$Revision: 81008 $

我正在使用 Gentoo Linux 并安装了 Tk 8.5(我相信它应该支持抗锯齿字体):

$ equery l tk
[IP-] [  ] dev-lang/tk-8.5.17:0/8.5

编辑:添加这个完整的 MWE 来描述我在做什么:

from Tkinter import *
import tkFont
from ttk import *

root = Tk()
note = Notebook(root)

default_font = tkFont.nametofont("TkDefaultFont")
default_font.configure(size=48)

tab1 = Frame(note)
tab2 = Frame(note)
Button(tab1, text='Exit', command=root.destroy).pack(padx=100, pady=100)

note.add(tab1, text = "Curvy Words")
note.add(tab2, text = "Aliased")
note.pack()
root.mainloop()
exit()

我不太了解 ttk,但知道您使用 "style" 设置字体-->ttk 教程 http://www.tkdocs.com/tutorial/styles.html 这在我的 Slackware box 上看起来不错,但它使用默认消除锯齿。

from Tkinter import *
import ttk
import tkFont

root = Tk()

##default_font = tkFont.nametofont("TkDefaultFont")
##default_font.configure(size=48)

f = tkFont.Font(family='helvetica', size=24)
s = ttk.Style()
s.configure('.', font=f)

note = ttk.Notebook(root)
tab1 = ttk.Frame(note)
tab2 = ttk.Frame(note)

note.add(tab1, text = "Curvy Words")
note.add(tab2, text = "Aliased")
note.pack()

ttk.Style().configure("TButton", padding=6, relief="flat",
                       background="white")

ttk.Button(tab1, text='Exit', command=root.destroy).pack(padx=100, pady=100)

root.mainloop()

原来是 gentoo 安装 tk 的问题。通过设置使用标志添加 truetype 支持后

例如,我将行添加到 /etc/portage/package.use

>=dev-lang/tk-8.5.17 truetype

然后重新合并tk:

emerge -Na tk