Thuộc tính font Tkinter quý giá tùy chỉnh font mặc định widget. Đã thấy nhiều font nhưng khó đoán font nào áp dụng được. Tkinter cụ thể về chọn font. Tạo ứng dụng liệt kê font có sẵn.
Dùng thư viện font, import:
from tkinter import font
Các bước:
- Định nghĩa hàm tạo instance font bằng font.families().
- Lặp qua font, hiển thị bằng Label gán text với font cụ thể.
- Tạo canvas với thanh cuộn dọc.
- Tạo frame trong canvas hiển thị font.
- Gắn nút chuột cho scroll widget cho phép cuộn frame.
Ví dụ
#Import required library
from tkinter import *
from tkinter import font
#Tạo instance tkinter frame
win = Tk()
win.geometry("750x350")
win.title('Font List')
#Tạo list font dùng font-family constructor
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"))
#Tạo canvas
canvas = Canvas(win,bd=1, background="white")
#Tạo frame trong canvas
frame = Frame(canvas, background="white")
#Thêm 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("", lambda e, canvas=canvas: onFrameConfigure(canvas))
fill_frame(frame)
win.mainloop()
Kết quả
Chạy mã hiển thị cửa sổ liệt kê font Tkinter hỗ trợ.
