有没有办法在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()
答案 0 :(得分:1)
我对ttk了解不多,但确实知道你使用“style”来设置字体 - > ttk tutorial http://www.tkdocs.com/tutorial/styles.html这在我的Slackware盒子上看起来很好,但它使用了抗锯齿默认情况下。
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()
答案 1 :(得分:1)
事实证明,tk与gentoo的安装方式存在问题。通过设置使用标志
添加truetype支持后例如,我将该行添加到/etc/portage/package.use
>=dev-lang/tk-8.5.17 truetype
然后重新出现tk:
emerge -Na tk