1 回答

TA貢獻1772條經驗 獲得超8個贊
最簡單的方法是獲取對默認字體對象的引用。當您重新配置它時,使用該字體的每個小部件都會自動調整。
這是一個人為的示例,其中包括兩個按鈕、一個標簽和一個文本小部件。按鈕和標簽自動使用默認字體,文本小部件默認使用不同的字體,因此我們將顯式將其設置為默認字體。
import tkinter as tk
from tkinter import font
def zoom_in():
size = default_font.cget("size")
default_font.configure(size=size+2)
def zoom_out():
size = default_font.cget("size")
default_font.configure(size=max(size-2, 8))
root = tk.Tk()
root.geometry("400x300")
default_font = tk.font.nametofont("TkDefaultFont")
toolbar = tk.Frame(root)
# start small, but then expand to fill the window.
# Doing this, and fixing the size of the window will
# prevent the window from growing or shrinking when
# we change the font.
text = tk.Text(root, width=1, height=1, font=default_font)
print(text.cget("font"))
toolbar.pack(side="top", fill="x", ipady=4)
text.pack(side="bottom", fill="both", expand=True)
zoom_in = tk.Button(toolbar, text="Zoom In", command=zoom_in)
zoom_out = tk.Button(toolbar, text="Zoom Out", command=zoom_out)
label = tk.Label(toolbar, text="Change font size:")
label.pack(side="left")
zoom_in.pack(side="left")
zoom_out.pack(side="left")
text.insert("end", "Hello, world")
root.mainloop()
默認情況下,該窗口如下所示:
這是單擊“放大”按鈕幾次后的樣子:
添加回答
舉報