Я обнаружил, что это будет работать:
from tkinter import *
import tkinter.font as tkFont
root=Tk()
my_font = tkFont.Font(size=10)
def resizer(event):
if event.width in range(200,225):
my_font.configure(size=10)
elif event.width in range(226,300):
my_font.configure(size=20)
elif event.width > 300:
my_font.configure(size=30)
l1 = Label(root, text="This", borderwidth=2, relief="groove", font=my_font)
l1.grid(row=0,column=0,sticky='NSEW')
l2 = Label(root, text="That", borderwidth=2, relief="groove", font=my_font)
l2.grid(row=0,column=1,sticky='NSEW')
for i in range(1):
root.grid_rowconfigure(i, weight=1)
for i in range(2):
root.grid_columnconfigure(i, weight=1)
root.bind("<Configure>", resizer)
root.mainloop()
Вы можете изменить range(200,225)
и т. Д. В соответствии с вашими потребностями и дополнительно elif
, если требуется.
Это было найдено из этого ответа .И отредактировано, чтобы вписаться в этот скрипт.