In many tkinter
那里有可用的示例,您可能会看到类似以下内容:
canvas.create_text(x, y, font=('Helvetica', 12), text='foo')
但是,在您的计算机中运行时这可能不起作用(结果将完全忽略字体参数)。显然,font
如果参数中有任何不正确的值,则该参数将被忽略。
为了检查字体系列是否有效,如何列出系统中可用的所有字体系列?
这个问题已经得到了充分的回答,但是能够看到每种字体的样子对我很有用,这样我就可以确定我想使用哪一种。为了避免其他人重新发明轮子,我将在这里发布我的代码。如上所述,每个字体系列都显示在滚动窗口中。不同之处在于,此代码中的每种字体都以字体本身打印。
from tkinter import *
from tkinter import font
root = Tk()
root.title('Font Families')
fonts=list(font.families())
fonts.sort()
def populate(frame):
'''Put in the fonts'''
listnumber = 1
for item in fonts:
label = "listlabel" + str(listnumber)
label = Label(frame,text=item,font=(item, 16)).pack()
listnumber += 1
def onFrameConfigure(canvas):
'''Reset the scroll region to encompass the inner frame'''
canvas.configure(scrollregion=canvas.bbox("all"))
canvas = Canvas(root, borderwidth=0, background="#ffffff")
frame = Frame(canvas, background="#ffffff")
vsb = Scrollbar(root, orient="vertical", command=canvas.yview)
canvas.configure(yscrollcommand=vsb.set)
vsb.pack(side="right", fill="y")
canvas.pack(side="left", fill="both", expand=True)
canvas.create_window((4,4), window=frame, anchor="nw")
frame.bind("<Configure>", lambda event, canvas=canvas: onFrameConfigure(canvas))
populate(frame)
root.mainloop()
我希望这对某人有帮助。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)