如何在 Tkinter 中列出可用的字型族?
Tkinter 的 **font** 屬性是用於自定義小部件預設字型的最有價值的屬性之一。我們已經見過很多字型並在我們的部件中使用了它們,但有時,猜測 Tkinter 庫中哪些字型適用似乎很複雜。Python Tkinter 對選擇字型更具體。我們可以建立一個應用程式,該應用程式可以列出 Tkinter 庫中所有可用的字型。
要使用 **font** 庫,我們必須使用以下方法在我們的環境中匯入它:
from tkinter import font
建立此特定應用程式需要幾個步驟:
定義一個函式並使用 **font.families()** 建構函式建立字型的例項。
迭代所有字型,並使用 Label Widget 顯示它們,為文字值分配特定的字型。
建立一個帶有垂直捲軸的畫布。
在畫布內建立一個框架,我們將在其中顯示所有字型。
將滑鼠按鈕繫結到滾動部件,以便在框架中啟用滾動功能。
示例
#Import required library
from tkinter import *
from tkinter import font
#Create an instance of tkinter frame
win = Tk()
win.geometry("750x350")
win.title('Font List')
#Create a list of font using the font-family constructor
fonts=list(font.families())
fonts.sort()
def fill_frame(frame):
for f in fonts:
#Create a label to display the font
label = Label(frame,text=f,font=(f, 14)).pack()
def onFrameConfigure(canvas):
canvas.configure(scrollregion=canvas.bbox("all"))
#Create a canvas
canvas = Canvas(win,bd=1, background="white")
#Create a frame inside the canvas
frame = Frame(canvas, background="white")
#Add a scrollbar
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 支援的可用的字型列表。

廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP