Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

การเปลี่ยน Default Font สำหรับ widget ทั้งหมดใน Tkinter


พิจารณากรณีที่เราต้องการเปลี่ยนฟอนต์เริ่มต้นของแอปพลิเคชัน Tkinter เพื่อใช้ฟอนต์และตั้งเป็นฟอนต์เริ่มต้นสำหรับแอปพลิเคชันเฉพาะ เราต้องใช้เมธอด option_add(**options) โดยที่เราระบุคุณสมบัติ เช่น สีพื้นหลัง ฟอนต์ เป็นต้น การเปลี่ยนแปลงหลังจากกำหนดเมธอดจะบังคับให้ widget ทั้งหมดสืบทอดคุณสมบัติเดียวกัน

ตัวอย่าง

ในสคริปต์ที่ให้มา เราตั้งค่าฟอนต์เริ่มต้นสำหรับแอปพลิเคชัน เพื่อให้ใช้ได้กับ widget ทั้งหมดที่กำหนดในแอปพลิเคชัน

# นำเข้าไลบรารีที่จำเป็น
from tkinter import *

# สร้างอินสแตนซ์ของ Tkinter frame
win = Tk()
win.geometry("700x350")

# เพิ่มฟอนต์สำหรับ widget ทั้งหมด
win.option_add("*Font", "aerial")

# ตั้งค่าฟอนต์สำหรับ Label widget
win.option_add("*Label.Font", "aerial 18 bold")

# กำหนดสีพื้นหลังสำหรับ widget ทั้งหมด
win.option_add("*Background", "bisque")

# แสดงชุด widgets
Label(win, text="Label").pack()
Button(win, text="Button").pack()

# สร้าง Listbox widget
w = Listbox(win)
for i in range(5):
    w.insert(i, "item %d" % (i+1))
w.pack()

w = Text(win, width=20, height=10)
w.insert(1.0, "a text widget")
w.pack()

win.mainloop()

ผลลัพธ์

การรันโค้ดจะแสดงหน้าต่างที่มี Label widget, ปุ่ม, Listbox, และ Text Widget ในผลลัพธ์ที่ให้มา widget ทั้งหมดสืบทอดคุณสมบัติเดียวกัน

การเปลี่ยน Default Font สำหรับ widget ทั้งหมดใน Tkinter