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()
默认情况下,该窗口如下所示:
这是单击“放大”按钮几次后的样子:
添加回答
举报