如何在Tkinter中列出可用字体?

如何在Tkinter中列出可用字体?

Tkinter 字体 属性是用于自定义小部件默认字体的最有价值的属性之一。我们已经看到了许多字体并在我们的小部件中使用过它们,但有时候似乎很难猜测哪种字体适用于Tkinter库。Python的Tkinter对于选择字体更加具体。我们可以创建一个应用程序,可以列出Tkinter库中所有可用的字体。

要使用 字体 库,我们必须在环境中导入它,使用以下命令:

from tkinter import font

有几个步骤可以创建这个特定应用程序,

  • 定义一个函数并使用 font.families() 构造函数创建一个字体实例。

  • 遍历所有字体并使用标签小部件将它们显示出来,通过分配特定字体的文本值来进行。

  • 创建一个带有垂直滚动条的画布。

  • 在画布内创建一个框架,我们将在其中显示所有字体。

  • 将鼠标按钮绑定到滚动小部件,以在框架中启用滚动功能。

例子

#导入所需库
from tkinter import *
from tkinter import font
#创建一个Tkinter框架实例
win = Tk()
win.geometry("750x350")
win.title('Font List')
#使用字体构造函数创建一个字体列表
fonts=list(font.families())
fonts.sort()
def fill_frame(frame):
   for f in fonts:
      #创建一个标签来显示字体
      label = Label(frame,text=f,font=(f, 14)).pack()
def onFrameConfigure(canvas):
   canvas.configure(scrollregion=canvas.bbox("all"))
#创建一个画布
canvas = Canvas(win,bd=1, background="white")
#在画布中创建一个框架
frame = Frame(canvas, background="white")
#添加一个滚动条
scroll_y = Scrollbar(win, orient="vertical", command=canvas.yview)
canvas.configure(yscrollcommand=scroll_y.set)
scroll_y.pack(side="right", fill="y")
canvas.pack(side="left", expand=1, fill="both")
canvas.create_window((5,4), window=frame, anchor="n")
frame.bind("<Configure>", lambda e, canvas=canvas: onFrameConfigure(canvas))
fill_frame(frame)
win.mainloop()

输出

执行上面的代码将显示一个窗口,其中包含Tkinter支持的可用字体列表。

如何在Tkinter中列出可用字体?

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程