Tkinter font প্রোপার্টি উইজেটের ডিফল্ট ফন্ট কাস্টমাইজ করতে ব্যবহৃত সবচেয়ে গুরুত্বপূর্ণ প্রোপার্টির একটি। আমরা ইতিমধ্যে অনেক ফন্ট দেখেছি এবং আমাদের উইজেটে ব্যবহার করেছি, কিন্তু কখনও কখনও, Tkinter লাইব্রেরিতে কোন ফন্ট প্রযোজ্য সেটা অনুমান করা জটিল মনে হয়। Python Tkinter ফন্ট চয়ন করার বিষয়ে আরও স্পেসিফিক। আমরা একটি অ্যাপ্লিকেশন তৈরি করতে পারি যা Tkinter লাইব্রেরিতে উপলব্ধ সকল ফন্ট লিস্ট করবে।
font লাইব্রেরি ব্যবহার করতে, আমাদের এনভায়রনমেন্টে এটি ইম্পোর্ট করতে হবে:
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("", lambda e, canvas=canvas: onFrameConfigure(canvas))
fill_frame(frame)
win.mainloop()
আউটপুট
উপরোক্ত কোড এক্সিকিউট করলে Tkinter যেসব ফন্ট সাপোর্ট করে সেগুলোর লিস্ট সমৃद्ध একটি উইন্ডো প্রদর্শিত হবে।
