Computer >> Máy Tính >  >> Lập trình >> Python

Làm thế nào để liệt kê các họ phông chữ có sẵn trong Tkinter?

Tkinter phông chữ thuộc tính là một trong những thuộc tính có giá trị nhất được sử dụng để tùy chỉnh phông chữ mặc định của tiện ích con. Chúng tôi đã thấy rất nhiều phông chữ và sử dụng chúng trong các vật dụng của mình, nhưng đôi khi, việc đoán phông chữ nào có thể áp dụng trong thư viện Tkinter có vẻ phức tạp. Python Tkinter cụ thể hơn về việc chọn phông chữ. Chúng tôi có thể tạo một ứng dụng có thể liệt kê tất cả các phông chữ có sẵn trong thư viện Tkinter.

Để sử dụng phông chữ thư viện, chúng tôi phải nhập nó vào môi trường của chúng tôi bằng cách sử dụng,

from tkinter import font

Có một vài bước để tạo ứng dụng cụ thể này,

  • Xác định một hàm và tạo một phiên bản của phông chữ bằng cách sử dụng font.families () phương thức khởi tạo.

  • Lặp lại tất cả các phông chữ và hiển thị chúng bằng Tiện ích Nhãn bằng cách gán các giá trị văn bản với một phông chữ cụ thể.

  • Tạo canvas với thanh cuộn dọc.

  • Tạo một khung bên trong canvas, nơi chúng tôi sẽ hiển thị tất cả các phông chữ.

  • Liên kết các Nút chuột với tiện ích con cuộn cho phép tính năng cuộn trong khung.

Ví dụ

#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()

Đầu ra

Thực thi đoạn mã trên sẽ hiển thị một cửa sổ chứa danh sách các phông chữ có sẵn mà Tkinter hỗ trợ.

Làm thế nào để liệt kê các họ phông chữ có sẵn trong Tkinter?